Skip to main content

Full text of "Creative Computing Magazine (January 1978) Volume 04 Number 01"

See other formats



•■^ ^ Jan-Feb 1978 

creative 
GOiRpatfog 

the #1 magazine of computer applications and software $2.00 






Computer Games: ^J 

> VAN GAM g 

> YAHTZEE V 




^^^^?^\^ 


^^ How to Write 
k a Computer 
1 Simulation 






K« ■ — *-—' fc ^ ^ 


v^h 




\ 16-Bit Computer 
n Your Future? 




^yJgP^ 


ft Biorhvthm in 
p BASIC PLgj 






Vlurphy's Laws ^ 
and Computers 




r m 

Program 
i World Population 
I Model 
















Grammar as a i 
Programming 1 
Language \ 


#jflH> 












^ A New Fast 
m Sorting 
W Algorithm 










m 


p ' : 1B 








|K 




iM ^k 












Robot- 1 
Drawing a 
Contest A 




hi ' i >ll£ » Vfl ^ . «« : mt ' :■ * 


Hi^HM 






{ Blue 
Wazoo 






| 






(Hu IN 






| 









$995 






r""TU MINIFLOPPY 
31UIIT OISK SYSTEM 



Your computer system needn't cost a fortune. 



Some computer kits include little more than a mother board and 
a front panel, and you pay extra for everything else you need to- 
make an operating computer. 

SWTPC doesn't do it that way, so you can get your Southwest 
Technical 6800 Computer up and running at a bargain cost 
compared with most other systems. It comes complete at $395 
with features that cost you extra with many other systems. 

The Extras You Get 

These extras include 4K of random-access memory, a 
mini-operating system in read-only memory, and a serial control 
interface. They give you 1) a considerable amount of working 
memory for your programs, 2) capability through the mini- 
operating system to simply turn on power and enter programs 
without having to first load in a bootstrap loader, and 3) an 
interface for connecting a terminal and beginning to talk with 
your computer immediately. 

Low-Cost Add-Ons 

Now that you have a working computer, you'll probably want 
to add at least two features soon, more memory and interfaces 
for needed accessory equipment. Memory for our 6800 is 
another bargain. You can get 4K memory boards for just $100 
and 8K boards for only $250. 

Our interfaces cost little compared with many other systems. 
EraloMdia: 

$995 tor the Dual Minifloppy $250 lor the PR-40 Line Printer 

$325 tor the CT-64 Terminal $79 50 tor AC-30 Cassette Interface 

$175 tor the CT-VM Monitor Or BAC # Exp Date 

$395 tor the 4K 6800 Computer Or MC # _ Exp. Date 



For just $35 you can add either a serial or parallel interface 
board. (And you won't have to buy several interfaces on a costly 
board to get just the one you want.) 

Peripheral Bargains 

Your computer is no good without at least a terminal for 
entering data and viewing computer output, and you will 
probably want a good method of storing programs and data. 

We offer you a line of high-quality peripherals at low prices. 
(You can prove this by just comparing prices.) 

Buy our CT-64 Video Terminal for only $325 and our CT-VM 
Monitor with matching cover for $175. Our MF-68 Dual 
Minifloppy costs just $995. complete with Disk BASIC and a 
disk operating system. For cassette storage our AC-30 
Cassette Interface gives simple control for one or two cassette 
recorders. 

You can get inexpensive hard copy with our PR-40 Al- 
phanumeric Line Printer. 

We back up the 6800 system with low-cost software, 
including 4K and 8K BASIC. 

Compare the value you get with our computer and peripher- 
als before you buy. We think you'll find that SWTPC gives you 
more for your money in every way. 



Name 
City 



Address 
State 



Zip 



E3 



Southwest Technical 
Products Corp. 

219 W Rhapsody. San Antonio. Texas 78216 
London: Southwest Technical Products Co . Ltd 
Tokyo: Southwest Technical Products Corp /Japan 



The easy way to get disk storage, 
FORTRAN IV, and other programming power 



Control up to 
four 8" drives 



Control up to 
three 5" drives 



CRT terminal 
interface 



Function 
switches 




LSI circuitry 



1 kilobyte 
PROM 



Here's a new disk controller and 
disk drive combination that will set 
you up for truly powerful disk storage. 

The new controller is extremely 
versatile. You can use it with either 
our new 5" single disk drive or our 
8" dual disk drive. In fact, the con- 
troller will interface up to three 5" or 
four 8" drives. 

That means you can have enor- 
mous disk storage since the new con- 
troller puts 92 kilobytes on each side 
of a 5" diskette and 256 kilobytes on 
an 8" diskette. Recording is in soft- 
sectored IBM format. 

FORTRAN IV AND MORE 

You can get still more Cromemco 
disk operation aids. For example, we 
also offer FORTRAN IV for our com- 
puter users. 

And as in so many things, we are 
the first manufacturer in the field to 
offer this advanced program for the 
Z-80 /xP. 

Besides FORTRAN IV we also offer 
our special BASIC (14-digit precision), 
our Z-80 Assembler, and now an en- 
tertainment diskette with over a doz- 
en of our Dazzler* games. 

KEYBOARD CONTROL 

The new Model 4FDC disk con- 
troller (supplied in our Z-2D) is for 
our Z-2 computer or any S-100 bus 
computer using our Z-80 CPU card. 

You should also know about these 
other capabilities of the new con- 
troller: 
• Its PROM-resident Disk Operating 

System (RDOS) gives you key- 



Single 5" 
disk drive 



OualS" 
disk drive 



board control of your disk drive 
and also includes a bootstrap to 
load our powerful CDOS disk 
operating system supplied on all 
Cromemco diskettes. 

• The controller will interface your 
CRT terminal through its RS-232 
serial port. May save you an I/O. 

• It has 5 programmable interval 
timers. 

• It has vectored interrupts. 

• And it has an 8-bit parallel input 
port and an 8-bit parallel output 
port. 

LOOK TO THE FUTURE 

This new disk controller equips 
you for the future as well as for now. 
Not only can you now have very 
large storage, but the features of the 
controller and the standard IBM for- 
mat protect you from early obso- 
lescence. 



CROMEMCO 
FORTRAN IV 



FORTRAN IV 
CROMEMCO 
FORTRAN IV 



FORTRAN IV 



STORES/FACTORY 

This new card and the disk drives 
are in production and available. 

So contact your computer store 
or the factory today and you can have 
the power of FORTRAN IV and a 
large memory right away. 



PRICES 

Model 4FDC-K Disk Controller kit $ 395 

Model 4FDC-W Disk Controller assembled ... $ S9S 
Model WFO 5" single disk drive assembled ..$ 495 

Model PFD-K 8" dual disk drive kit $1995 

Model PFD-W 8" dual disk drive assembled .$2495 
Disk drives are complete with 
power supply, case and cables. 

SOFTWARE 

Purchasers of Cromemco computers 
or drives may purchase software on 5" 
or 8" diskettes as follows: 

3« r* 

Diskette Diskette 



FORTRAN IV FDF-S FDF-L $95 

Z-80 Assembler FDA-S FDA-l $95 

16K BASIC FDB-S FDB-L $95 

Dazzler* games FDC-S FDC-t $95 



a 



Cromemco 

Incorporated 
Specialists In computers and peripherals 
2400 CHARLESTON RD.. MOUNTAIN VIEW, CA 94043 • (415) 964-7400 



/. 



i 







■3?T*^ 



i 






\ITAN 



V 



UP AND RUNNING 

TDL EQUIPMENT USED BY NEW JERSEY PUBLIC TELEVISION 
TO PROCESS NEW JERSEY GUBERNATORIAL PRIMARY ELECTION RETURNS 



John Montagna, computer engineer (above left), 
lead this successful network team in generating 
election results speedily, efficiently and reliably 
using predominantly TDL hardware and soft- 
ware. Montagna created three programs to get 
the job done. The text for a SWAPPER pro- 
gram was written and assembled using the TDL 
TEXT EDITOR and Z80 RELOCATING MACRO 
ASSEMBLER. The SWAPPER text and all 
debugging was run through TDL's ZAPPLE 
MONITOR. The relocatable object code was 
punched onto paper tape. A MAIN USERS 
program updated votes and controlled air dis- 
play. An ALTERNATE USERS program got 
hard copy out and votes in. The latter two 
programs were written in BASIC. Montagna 
modified the ZAPPLE BASIC to permit time- 
sharing between the two USERS programs. 



TDL's XITAN SYSTEMS have the capacity to do 
similar tasks for you. Write to us for XITAN 
information and the name of your nearest TDL 
dealer. 



Four screens were incorporated, two terminals 
entered votes as they came in and were used 
to call back votes to check accuracy. Mon- 
tagna called on the power and flexibility 
offered by TDL's ZPU board and three Z-16 
Memory boards. 

Montagna's setup worked constantly for over 
four hours updating and displaying state-wide 
and county-wide- results without flaw. 

"I chose TDL because they have all the soft- 
ware to support their hardware, and it's good; 
it has the flexibility to do the job." 

John Montagna 

We salute John Montagna and NEW JERSEY 
PUBLIC BROADCASTING for spearheading 
the micro-computer revolution. 




TECHNICAL 

DESIGN 

LABS 



RESEARCH PARK BLDGH 1101 STATE ROAD 
PRINCETON, NEW JERSEY 08540 (609) 921-0321 



in this issue... 

articles 



24 
26 
30 
34 
41 

44 
47 
68 
80 
94 
123 

127 
130 



Programming Techniques 

File structures (Part 2). 

SFS Walletslze 

Space-shuttle simulator. 

Blue Wazoo 

About the bird on the cover. 



Lees 



Pallas 



Five Who Most Disturbed the Thoughts of Man 

Copernicus, Freud, Darwin, Einstein, Computer 



How Would You Like 
a 16-Bit Computer? 

Prices are coming down. 

Topics in Logic 

Turing machines. 



..Simmons 



Lees 



...Hastings 



Retail Marking Code 

Those black-and-white stripes. 

Human Memory Processes Hastings 

We have two types of memory. 

Grammar as a Programming Language ...Rowe 
A one-command language: LOGO. 

Computer Expo ^ nn 

Computer education at Lawrence Hall. 

"Hands On" and Fast 

Turnaround Cashman & Shelly 

A must for a successful program. 

The Square Root of 4 is Not 2 ..Stern 

It's 1 .99999. 

The Rhetoric of the Computer Marsh 

Thoughts about a computerful world. 



fiction & foolishness 

32 Marsport (Part 4) Sonntag 

102 Murphy's Laws and the Computer Breen 

106 The Perring Conclusion Delaneyi 

110 Poetry by Computer 

111 Poetry by People 

114 The Big Think Grant 

117 Computer Myths Explained. Wolverton 

Jan Feb 1978 Volume 4. Number 1 Consecutive Issue No. 19 

Creative Computing magazine is published bi-monthly by Creative Computing. P O 
Box 789-M. Mornstown, NJ 07960 (Editorial office 51 Dumont Place. Morristown. NJ 
07960 Phone (201)540-0445) 

Domestic Subscriptions 1-year $8. 2-year $15. 3-year $21 Subscription orders, 
change of address. PO Form 3579 to Creative Computing. PO Box 789-M. 
Morristown. NJ 07960 Call 800-631-8112 toll-free to order a subscription (to be 
charged only to a bank card) 

Copyright^ 1978 by Creative Computing All rights reserved Reproduction prohibited 
Printed in USA 

JAN/FEB 1978 



reviews & resources 

1 4 Compleat Computer Catalog 

__ Auto Race, Missile Attack, Football Gray 

27 Three smart electronic games. 

Gray 



__ Radio Shack TRS-80 

35 Profile of the Level I computer. 

OQ Heath H8 System Review Lees & North 

3o Profile of the 8080-based computer. 

things to do - games 

c Draw-A-Robot Contest 

6 Can you design a logo for us? 



WORLD2 ..Murphy 

Program for a world population model. 



48 

54 Puzzles and Problems 



58 

74 

88 

96 
132 
137 

140 



The 8-Hour Wonder Dwyer 

Part four of a tutorial series on BASIC. 

How Was I Yesterday? Robertson 

Programs for biorhythmic hindsight. 

How to Write a Computer Simulation Ahl 

For use in classroom instruction. 

A New Fast Sorting Algorithm Hart 

Extremely fast; minimum of comparisons. 

Elias 
... Brown 



YAHTZEE Computer Game 
VAN GAM Computer Game 



KIRKOF and NETWORK Brown 

Draws simple electrical networks. 




departments 

4 Notices 
6 Editorial 
8 Input/Output 
118 Reviews 



The Cover 

That big bird on the cover is the Blue Wazoo, a steel-and- 
plastic-and-electronics structure six feet high, with some 
peculiar behavior patterns. For the full story, see page 30. 



Foreign Subscriptions: 

Great Britain 1-year £6 25. 2-year £ 1190. 3-year £ 16 90 Orders to Creative 
Computing. 60 Porchester Road. Southampton S02 7JD. England 

Europe. 1-year subscription Austria Sch 180. Belgium BF 4000 Denmark Kr65. 
Finland Mr40. France Fr50. Germany DM25. GreeceOr360. Holland DII27. Italy L8500, 
Norway Kr55. Portugal Esc320. Spain Ptas700 Sweden Kr45. Switzerland SF 25 
Orders to Pan Atlantic Computer Systems GmbH Frankturter Strasse 78 D61 
Darmstadt. German Fed Rep 

Other Countries 1-year $12. 2-year $23. 3-year $33 (surface postage. U S dollars) 
Orders to Creative Computing. P O Box 789-M. Morristown, NJ 07960 

Second class postage paid at Morristown. New Jersey and at additional mailing 
offices 





















■H 



Publisher 
David H. Ahl 

Editor-in-Chief 
Stephen B. Gray 

Managing Editor 
Burchenal Green 

Associate Editor 
Steve North 

Software & Reviews Editor 
John Lees 

Higher Education Editors 
Merl Miller 
A. Kent Morton 

Technology Editors 
Thomas R. Kibler 
Alan Salisbury 

Careers Editor 
Eleanor Corr 

Humor Editor 
Jack Ludwig 

Art Director 
Elyse J. Fox 

Marketing Manager 
Linda Harrison 

Business Manager 
Mary M. Williams 

Retail Marketing Rep. 
Linda Eckerstrom 

Customer Service 
Jeanne Tick 

Book Service 
Barbara Shupe 
Jimi Gordon 

Subscriptions 
Ethel Fisher 
Carol Cassata 



Advertising Sales 

Western States, Texas 
Jules E. Thompson 

Hearst Building. Suite nil 
5 Third Street 
San Francisco, CA 94103 
(415) 362-8547 

Southern California 

Bert Charlton 

2560 Via Tejon 

Palos Verdes Estates, CA 90274 

(213) 378-8361 

Mid-Atlantic. Northeast 
Charles Lynch 
36 Sohier Street 
Cohasset, MA 02025 
(617) 383-6136 

Elsewhere 
Burchenal Green 
(201) 540-0445 



MEMBER 

COMMITTII Of SMALL MAGA/IM 
(DITOR1 AND PUI1IIHMS 



... notices ... 



Intel University 
Software Contest 

More than $28,000 worth of microcom- 
puter development equipment, plus 
numerous $100 memberships in the Intel 
Users Library, will be awarded by Intel 
Corporation to colleges and universities in 
the United States and Canada. 

The equipment will be awarded as prizes 
during a University Software Contest that 
runs through June 30, 1978. A team of 
software specialists will evaluate software 
programs for their originality, documenta- 
tion, creativity and applicability to 
microprocessors. Students and faculty 
members can enter as individuals or teams. 
Prizes will be awarded to the winning 
schools. 

Intel's Software Library, Insite, is en- 
couraging the contribution of original, high- 
quality programs. Examples include 
operating systems, communications 
programs, scientific subroutines, language 
translators, programmable peripheral- 
device subroutines, and applications 
programs in the areas of numerical control, 
data acquisition, process control, data 
analysis and lab automation. 

Entries must be written in Intel assembly 
language or PL/M and must include a 
source listing and test program to assure 
program validity and a source paper tape or 
diskette. Entry forms and contest details 
may be obtained by writing: Insite Library 
Contest, Intel Corporation. Microcomputer 
Division, 3065 Bowers Ave, Santa Clara, CA 
95051 



NCC 78 

Billed as "the year's largest annual 
gathering of the computing and data 
processing fields," the 1978 National Con- 
ference will be held June 5-8, 1978, in the 
Anaheim Convention Center. Anaheim, 
California. 

NCC '78 will feature about 100 technical 
sessions, a series of professional develop- 
ment tutorials, exhibits of computer 
products and services by about 300 
organizations, plus special addresses, 
events, and activities 

A special feature of NCC 78 is the 
Personal Computing Festival, to take place 
June 6-8 at the Disneyland Hotel complex in 
Anaheim. Some 30 sessions are planned, 
and prizes will be awarded for the most 
innovative demonstrations of individually- 
designed hardware and software systems 
and applications. 

AFIPS Headquarters, 210 Summit Ave 
Montvale. NJ 07645. (201) 391-9810. 



PERCOMP 78 

Co-sponsored by the International Com- 
puter Society/SCCS and the Rockwell 
Hobbyist Computer Club, PERCOMP 78 
will be held at the Long Beach Convention 
Center, Long Beach, California, April 28-30, 
1978. The show is "designed with the home 
computerist and small-business person in 
mind." 

James Lindwedel. Technical Program 
Chairperson, PERCOMP 78, 1833 E .17 St 
Santa Ana, CA 92701 . 



Your Key to 
Fame and Fortune 

Creative Computing is seeking "how-to" 
articles on several specific topics for 
upcoming issues. The areas of interest are: 

1 Investment portfolio analysis. For 
example, comparative stock analysis, 
stocks vs bonds vs treasury bills vs other 
alternatives, puts and calls, arbitrage 
analysis, etc. 

2. CAI author system. Software system 
that allows the user to write a tutorial dialog 
of questions and answers for any subject. 
PLANIT is an example of such a system for 
large computers; HP has an Instructional 
Dialog Facility for their 2000 and 3000 
series: DEC has DECAL, a relatively un- 
sophisticated system that runs under 
RSTS. We are seeking to publish a system 
for a microcomputer system with floppy 
disk. 

3. Sports Smiulations. In-depth, serious 
simulations of various sports such as ice 
hocky, soccer, gliding, sailing, etc. The idea 
is that the computer player can learn 
something about playing tactics and 
strategy that can be used in the actual sport. 

4 Speech recognition and synthesis. 
Perhaps an interactive version of ELIZA 
(Jul/Aug 1977. pg 100) or some other 
interesting program. 

Articles should be truly of a "how-to" 
nature, not speculations or philosophy. 
We're looking for software with listings and 
sample output and a complete description 
of your algorithms and approach. Should be 
typed, double-spaced. Output with clean 
black ribbon on white paper. Payment upon 
acceptance (not upon publication) at our 
usual rates. Which is to say, you'll not get 
rich but you'll be compensated for your time 
and effort. Photos and/or illustrations are 
highly desirable and will be paid for also if 
they're suitable for publication. 

If you wish your material returned in the 
event it is not accepted for publication, 
please include a self-addressed stamped 
envelope (SASE) of adequate size and 
enough postage for its return. We cannot 
guarantee acknowledgment of con- 
tributions without an SASE. 



CREATIVE COMPUTING 



WE BUILD QUALITY AND 
USER VERSATILITY INT" 
EVERY "BLUE BOARD".. 



MM M/4K EPROM In4 
KtlltMEPROM » «4ttft 

Ktl withS-1702An m» 104 96 

Ki! -iih I6-1702AO lit) 144W 




• ■1 Music 8ynlh«*ti«f Board 
Kit with pap*' tap* of MUS-Xi 






104 3 PirtH** er»d 2 ■•rta< 



■ambled board* also available 
Lightly h.ghar pncot 



And, we build just 

about any board you'll 

want for S-lOO bus expansion. 

When you're thinking about expansion 
look to the Solid State Music "blue 
boards!' You'll find quality and user versa- 
tility built into every one allowing you to ex- 
pand your system in whatever direction you 
choose . . . and, we've been doing it for years. 

Right from the start we design our boards with our 
customers in mind. Extra features are added that will 
aid in expansion, not hinder program design and devel- 
opment. All first class parts are used and they're checked 
to make sure you have years of trouble free operation. Plus, 
every kit comes complete with assembly instructions and user 
information to make assembly a snap and operation a pleasure. 

Talk to your dealer today to get more facts about the "blue boards" 
or write direct. Compare prices, quality and features. You'll find out 
why more and more people are using Solid State Music "blue boards" 
• s for their S-100 bus expansion. 

SPECIAL BONUS OFFER 
An 8080 Monitor for 
1/2 price!!! 

If you buy any of the Solid State Music 
kits or assembled boards you'll receive 
a SSM8080 Monitor complete with ei- 
ther eight 1702s or two 2708s and over 
50 pages of software information. A 
$49.95 retail value . . . just $25.00. Hurry! 



ggCLJDBTLXrn 



Solid State Music 
2102A Walsh Avenue 
Santa Clara, CA 95050 
(408) 246-2707 









HNS 


m 





We're the blue boards 



.editorial.. 



Consumer Protection 



No doubt all the hobby-computer magazines get letters 
from readers such as one we recently got that went 
something like this (heavily paraphrased so the sender 
won't recognize it): 

A year ago I ordered an XY2 computer kit, and after 
three months went by, and I hadn't heard from the XYZ 
Company, I called them to find out what happened to 
my order. They couldn't find it. I stopped payment on 
the check, and sent another order. Another three 
months went by without a word from the XYZ people, 
so I called again. (I'm on the East Coast, and they're on 
the West Coast, so these calls aren't cheap.) 

This time they said they had my order, but they were 
having to hold up all orders for the computer kit 
because a company making one of the important ICs 
had gone bankrupt, and there was no second source. 
So they were trying to figure out some way around he 
problem. 

After waiting another three months, and discover- 
ing newer and more interesting computer kits, I wrote 
the XYZ company to ask for my check back. No 
response in the month that followed, so I called them. 
They said they hadn't received my letter. So I asked to 
have the check returned to me. They said sorry, it 
wasn't their policy to return checks without a letter 
requesting this. I sent another letter, and am still 
waiting for my refund. 

Please print my letter in your magazine, so your 
readers will know what's going on at the XYZ 
Company, and why I would never try to buy anything 
from them, ever again." 

We get that type of letter every now and then, and the 
magazines that specialize in hardware probably get a lot 
more of them. The question is, should we print such a 
letter? 

We've talked with other editors and publishers, and 
found varying viewpoints. One said "If a company is just 
getting off the ground, why give them the kiss of death just 
because they're having growing pains?" Another felt that 
"We've got to be careful, because we can't afford to lose 
any advertising." 

Most of us have stayed away from this ticklish subject of 
printing "I've been had" letters, but we can't ignore them 
forever. We're going to take a much closer look at letters 
dealing with problems involving software and 
applications, which is our area, and if we find the 
complaint is valid, then we should let you, our readers, 
know that the ABC company doesn't deliver software as 
promised, or that the DEF Corporation's inventory 
program doesn't live up to spec, etc. 

After all, how long are growing pains supposed to last? 

— Stephen B. Gray 



Win $25-Plus In Our 
Draw-A-Robot Contest 

Be the Creative winner, or at least be a Creative contestant in 
our "Draw-A-Robot Contest." 

We want all of you Creative Computing readers to try your hand 
at creating a robot. Not a mechanical demon or a lively cohort. 
Just a simple, modern, humanized version of our out-dated robot 
appearing on the contents page. We need a versatile robot to be 
part of our logo— one that symbolizes what Creative is all about. 

The winning robot will appear on our advertisements, business 
cards, stationery, stickers, in the magazine— you name it. 
Whomever comes in contact with Creative Computing will come 
in contact with the robot. 

Let your imagination run wild. Anything goes, but here's what 
we're looking for. . . . 

A robot that reveals character and progress, a trustworthy face 
and a strong physique. A robot in motion who carries an inherent 
sense of innovation. In other words, a robot that reflects Creative 
Computing. 

The winner will receive $25 plus a biosketch which will 
accompany the featured full-page robot. The five runner-up 
robots will appear with the winner in the May-June issue. 

Here are the specifications: 
—All drawings must be in by Feb. 20. 1978 
—A separate sheet with your name, address and phone number 
must be attached to the drawing. 

—Robot drawings larger than 9x1 2 or smaller than 1 x3 will not be 
considered. 

—Black on white paper only. 

—There is no limit to the number of drawings you can submit. 
—Send all robots to: 

Draw-A-Robot Contest 
Creative Computing 
P.O. Box 789-M 
Morristown, NJ 07960 



POSITION OPENING 

Creative Computing has an immediate opening for a 

SOFTWARE MARKETING 
MANAGER 

Responsible for making contact with software originators; 
obtaining marketable software (games, household 
management, investment analysis, small-business 
management, and other programs); contacting vendors 
and contracting for the production of cassettes, records, 
or other media: and developing a marketing and adver- 
tising campaign for the sale of these products. This 
position has total revenue, expense and profit respon- 
sibility for these activities. Also responsible for the 
preparation of at least one article and one or more reviews 
of software systems for each issue of Creative Computing. 

Qualifications: BS or equivalent experience; MBA 
preferred. Experience with microcomputer software, 
marketing, or both. 

Location: Morristown, New Jersey (1 hour from NYC). 
Salary $12,000-$16,000; minimal fringe benefits. Excellent 
profit-sharing plan after one year employment. Oppor- 
tunity for exceptionally rapid growth, broad respon- 
sibilities, and high job satisfaction. 

Send resume to Creative Computing, Attn: David Ahl, 51 
Dumont Place, Morristown, NJ 07960. 



CREATIVE COMPUTING 



Heathkit "Program-Ready" Computer 
Systems Await YOUR COMMANDS! 




$*9"yC00 Memory must be 



• Kit ordered separately 



The Heathkit H8 is designed to provide you with a versatile, 
efficient computer that's easy and fun to build and use. It fea- 
tures an intelligent front panel with keyboard entry and 9-digit 
display, a heavy-duty power supply with enough extra capac- 
ity for memory and I/O expansion, and an exclusive 50-line 
fully buffered bus capable of addressing 65K bytes. The CPU 
board is fully wired and tested and features the 8080A chip, 
clock, systems controller and full bus buffering. Seven vec- 
tored interrupts are available on the bus for quick response to 
your I/O requests. The mother board has positions for up to 
10 plug-in circuit boards for memory and interface cards and 
complete "program ready" software (BASIC, assembler, edi- 
tor and debug) is included at no extra cost. Together with its 
"system designed" peripherals: memory expansion boards, 
serial and parallel interfaces, the H9 CRT terminal with ASCII 
67-key keyboard and the ECP-3801 cassette recorder/ player 
mass storage device, the H8 will provide you with years of 
computing usefulness and enjoyment. 

_ Basic Self-Instruction Course 

Learn BASIC program- 

$29'* ming eaSy and ,ast witn 
our EC-1100 self-instruc- 
tional course. Features programmed 
nstruction text, experiments and 
demonstrations to give you a thorough 
knowledge of BASIC and program- 
ming techniques. 





I 



HEATHKIT CATALOG 
The new Winter 78 Edition 





Based on the world-famous DEC LSI-11, the H11 and its peri- 
pherals give you all the power and speed you need for total 
computing versatility. It's one of the few FULL 16-bit compu- 
ters available to the hobbyist today, and equivalent commer- 
cial versions would cost literally thousands of dollars more. 
The H11 features a fully wired and tested DEC KD11F board 
that contains the 16-bit LSI-11 CPU, a 4096x16 read/write 
MOS semiconductor memory, DMA operation, and includes 
the powerful PDP-11/40 instruction set. Heath/ DEC PDP-11 
software includes editor, relocatable assembler, link editor, 
absolute loader, debug, I/O executive and DUMP programs, 
plus BASIC and FOCAL. The backplane/ card guides are fully 
compatible with all standard LSI-11 accessories. The H11 and 
its system peripherals: memory expansion modules, serial 
and parallel interfaces, an extended arithmetic chip, plus the 
H10 paper tape reader/punch and the H9 CRT terminal give 
you all the power and versatility you need for personal com- 
puting at its very best! 

World Famous DECwriter II 

Deluxe keyboard printing 
terminal at Heath's sensa- 
tional low mail order price! 
Also available: LAXX-KG EIA (RS-232C) 
Interface with cable and connector, $65; 
LAXX-LM Acoustic Coupler which mounts 
in LA36 with hardware provided, $250.00 



Nearly 400 fascinating electronic kits fully 

illustrated and described, plus a variety of 

Heath-recommended assembled products. 

Send for your FREE copy today! 

Prices are msil order net FOB, Benton Harbor, Michigan. 
Prices and specifications subject to change without notice. 




$ 1495 



Heath Company, Dept. 355-370 
Benton Harbor, Michigan 49022 



Please send me my FREE Heathkit Catalog. 
I am not on your mailing list. 



You can get a FREE retail catalog by re- 
deeming this coupon in person at any ol 
the 50 Heathkit Electronic Centers (Units 
ol Schlumberger Products Corporation) in 
major markets coast-to-coast, whe 
Heathkit products are sold, displayed, 
serviced. (Retail prices on some product 
may be slightly higher.) (Check the white 
pages ol your telephone book.) 



Use coupon for 
mail-order k 
and 4 catalog or bring f 
to store for ' 
retail catalog. 



Name- 



Address 



City- 



. State- 



CP-137 



Zip- 



pet. . . input/output ... in 




We Specialize 
in Gcmputfep Letters 



Pen Pals for 
PLATO and MULTITUTOR? 

Dear Editor 

I am very interested in Computer Assisted Education 
(emphasis on assisted) and believe that it will be. and now is to 
some extent, a great aid to educators. I would like to correspond 
with others who also have an interest in this subject. I am 
especially interested in the PLATO and MULTITUTOR 
systems, both of which use the TUTOR language. A computer 
should never take over complete!) the role of educator, but 
systems like PL A I O encourage and assist out-of-class and extra 
study and also stimulate interest. I hey make the iob of the 
educator easier and give him her more time lor individual 
interaction with the students. I believe that this makes for a 
closer relationship between teacher and student and creates an 
atmosphere that is more conducive to learning, even in today's 
very large college and high school classes. 

I am also glad to see that your magazine publishes computer 
games. Manv computer "purists" (as thev call themselves: I call 
(hem other things) believe that such games are below them and 
are childish. 1 believe that they are exactly what they are meant 
to be: fun. recreational, and sometimes even educational. I have 
the book Hit HASH Computer Gaines, edited bv your 
publisher David II. Ahl. and both volumes of your Best Of 
Creative Computing and enjoy all three. I have, in total, about 
400 games recorded on a 2400-lt. tape and on listings. I would 
enjoy corresponding and trading programs with others who 
enjoy computer games. I he games 1 have range from very simple 
number-guessing games to very complex science' fiction 
simulations. I hope that you continue to give games a place in 
your magazine. 

I wish you continued luck with your magazine and hope that 
more people will take the attitude that computers can be fun. 

Bruce A. Carter 

7786 South .100 West 

Union Mills. IN 463X2 



A Fan Tells All 

Dear Editor 

From the beginning ol '77. CC seems to have been rolling. I 
remember a letter that I got shortly before my first issue back in 
Nov '75 saving that CC needed subscribers badlv so that CC 
could increase the si/e of the magazine, print on better quality 
paper, increase the issue frequency, and to let the stall buy 
groceries. Well, with the advent of the rise in microcomputer 
sales to hobbyists, most of that has come true. I ell me. does the 
staff buy groceries'' 

from lorn Allen's "Algorithmic Basic." I see that lorn is 
hooked on COBOL. Mv advice to him is to learn ALGOL and 
try pseudo-ALGOL Algorithmic Basic. After all, ALGOL is for 
the algorithms, not COBOL. 

As Tom pointed out. picking apart algorithms is difficult and 
time-consuming. I his one Star I rek program was a doo-zee for 
me. If only the programmer would take the time to document his 
programs and explain the complex algorithms, rather than 
cramming it all into a few lines, the problem would disappear. 

I wo particular evils are multiple statements on one line, 
usually separated by colons (:). and lack ol spaces. Lor example, 
the statement I0READY might appear to the unaware person as 
a statement called READY rather than READ Y. Two 
examples of these evils are I'OS I IK in Nov -Dec '76 which uses 
so manv multiple statements that it boggles the mind, and 
TICKERTAPE in May-Jun '77 which also uses a third evil 
known as three-letter abbreviations. 

I would like to thank Gregory Yob for his excellent article on 
I'll Oil am currently writing a I'll Ol interpreter for an III' 
20001 computer and one lor a CDC Cyber 73-26 KRONOS 
system which has two CPUs. 

A special thanks to CC and Steve North. Jell Shragerand the 
creator. Joseph Wei/enbaum for bringing a Basic version of 
ELIZA toCC. I think it makes an interesting demonstration and 
it's good lor just plain fun. I have a partially completed HP 
2000L Basic version, which, by the time you read this, should be 
completed. 

I would appreciate receiving letters from people interested in 
computing, especially API fanatics, people who use PILOT, 
Artificial Intelligence programs (like II l/A). and especially 
people that make, or at least use. computer games in BASIC. I 
have about ten programs that I would like to share with 
interested people. Thanks a lot. 

Steve Irapp 
5020 Mulcare Drive- 
Columbia Heights. MN 55421 



Calculating the Number of Coconuts 

Dear Editor: 

I his is in regard to the Sailor program in the May-June 1977 
"Thinking Strategies" (p 78). In case no one else has sent it in. 
there is a much more efficient algorithm for calculating the 
number of coconuts, that does not require looping, repeated 
incrementing, nor conditional tests (except one): If "x" is the 
smallest possible number of coconuts, and "n" is the number of 
sailors, then: 

For even "n": x=n' n+l ' -n n -n +1 

For odd "n": x-n n -n+ I 

This gives the correct result for any "n" greater than 2. This 

algorithm was given in 6? Notes, Vol. 2. No. 1. page 9 (January 

1975). 65 Notes is the publication of the HP-65 Users Club. ' 

Delmer D. Hinrichs 

21 16 S. E. 377th Ave. 

Washougal. W A 98671 

CREATIVE COMPUTING 



The many faces of MERLIN 



■l»lT«r» HflLlN in the fli*«tf.| 
•*••• (XOH kV IHV) Ir.Phlc »•«. 



*ttl 



RCtLIN it nce»t tonal !«. v«n«|||| teee 


lisfli 


U I 


oritli »ra 

• 1 ASCII 


t 4* 












■ in* 

mum it 

Par licula 

ih. nil H 
I 
C - 


i<ti 1 'or <Ke >■ 

rIV TURNKEY iVit*i 

entltr functions «' 

HeaorV Ho*, ty 

Co*V block ol ••» 


• II llllN< 
Soee • ( 

* 

ry 






"kP t* 


■ - 
1 ■ 


Duo* aeaorV in he 






X 


C.*lin« CPU reftllere 



Dense Mode: 160H « 100V 
Running Man Patterns 



Propaganda 



rijH 31 •• •! tE t2 

•ISt 01 CI CD 7* CJ 
00(0 II CO 47 C? C) 
MS* 


CD C2 74 
CD 04 CI 
20 CO 00 


vMi 74 C2 
•031 01 

v[3i 

1214 »7t 1234 
^CSO il 

1234 un 






II 1 C 1 [ 
•2 20 20 00 70 3* 
vlUI 19 CD 

vl»0 

1234 S«70 C0OC 


L M OL IN PL PM 
34 12 00 01 *l 00 


IK 1 1 UMTU YOU 
HaTfl FUNCTIONS 


■EC ALL TNE 

<ALl 21 OF THE"') 





IIP' RUIN LOOP 

CULL 13 PCX' EOIO (FLIP ICIfl 
3020 I-l 
J03O PO-hlDOf 
3033 COIUO 2320 

"10 COtUO 4020 *EH/ CALC PATTERN 
»»»* ■««/ ORAM PAT 1C0M 



Monitor Debug Usage 



Super Dense: 320H * 200V 
Line Drawing 



tOSUO 4020 IEH' C 

COtUO 2020 OEM' OELAV 

P0-PO- 1190 

tOSUi 2320 »f"' CLEAR 

1*10-1 

P0-PO-II9O 

COTO 3030 

RED' CALULATF. PATTER* SUO 

M-20*RHD(Z >I00 
i L-20«RN0<2>t00 
i 0'11'INOI 2 >I30 



BASIC Program Listing 
Output Shown Below 




Super Dense: 320H « 200V 
3D Boxes 



Super Dense: 320H * 200V 
Perspective Drawing 



MERLIN (and your S-100 Computer...) 
... the graphics development package you've been waiting for. 

Do these photos suggest an application in your field? Whether you're into architecture, astro- 
logy, music or whatever, you can apply graphics to make your presentations more effective 
and your work more efficient. 



Real Time Plotting 

Heart Rate 
Navigation 
Spectrum Analysis 



Complex Equation Plotting 

Stock Market Trends 
Teaching: Mathematics 
Circuit Responses 



Fine Line Drawings 

Architecture 
3-D Projections 
Circuit Layouts 



Pattern Movement 

Animation 
Games 



MERLIN is also a multipurpose system monitor board with 
ROM monitor and editor software, parallel keyboard port, and 
audio cassetts storage, besides being your text and graphics 
video output device. 

Write or call today for your free copy of our new catalog, an 
index to available application notes, and a list of MiniTerm 
Dealers. ^. 



MERLIN is supported by expert technical assistance, a con- 
stantly expanding series of application notes, and a newly 
formed users group. 

Assembled and tested MERLIN* start at $349, $269 for kits. 
Super Dense add-on, firmware, and cassette interface are extra. 




MiniTerm Associates, inc. 



Dundee Park, Andover. MA 01810 (617) 470-0525 






■ 



put. . . input/output ... in 



File Structures Revisited 

Dear Editor: 

Pertaining to the "Reader Challenge" on page 32 of the Nov- 
Dec issue, your specifications lor the LP IS&R system are 
probably good enough it you are just maintaining a record- 
store-ty pe inventor) . However, lor a collector of records, it just 
doesn't contain enough information. My collection is heavy on 
Dixieland records, and if all I could record in my system was the 
Schwann-catalog-type information, it would not he of any real 
use to me. lor example, in addition to wanting to know the I.P 
title & record number. I also need to know the title of all the 
individual selections on the LP. I would also like to know the 
artists w ho recorded that selection, the date it was recorded and 
the original label and record number (if available). I am going to 
want to know, lor example, how main versions I have ol 
"Musk rat Ramble." or I max want to know il I have a version of 
"Muskrat Ramble" featuring Kid Ory. or I may want to know 
(especially when buying additional records) if' I already have 
these selections on another LP. 

You might also want to throw in such information as: mono, 
stereo, quad, etc; the recording characteristics: the sequential 
arrangement of multi-record sets(i.e.. in a three recordset is the 
record side arrangement 1-6 2-5 3-4 or is it 1-2 3-4 5-6): the 
condition of the record, the number of times played: etc. 

I hese would seem to be some of the features that one would v 
want to build into the system to offer greater utility to the user 
After all. I can now maintain a paper record catalog of m\ 
collection. But by expanding the information available I can 
make the file more useful. 1 can look lora particular artist doing 
a particular selection, for example. If I add a "play count" I can 
see which records are starting to wear out and I can either put 
them on tape or I can shop for another I.P. 

John lees' article on "Programming Techniques: File 
Structures (Part I)" looks like it is going to be a useful series. 
However, it might have been more useful il a small change had 
been made in the "formats" for the 0. I & 2 tvpe records. You can 
make your retrievals much easier if he had specified the record 
formats as: 

Ivpe 0: Author: Title: P-Code: Binding: Pages: Price: Date 

Type I : Author : Title : P-Code : Binding : B-Code 

lype 2: Author: Title: B-Code 
or even hetter: 

I v pe : B-C'ode : Author : Title : etc 

lype I : B-C'ode : Author : Title : etc 

Ivpe 2: B-C'ode: Author : Title : etc. 

In the first example you would be able to say go to field 
two three and look for author and or title, or vice versa 
However, you would probably have problems if you ever want 
to do something like listing your collection in sort on 
author hook title story title, as the only thing you have to tit- 
stories into a book collection title is the B-code and its location is 
not uniform. 

In that case, if you go to the second set of examples, you have 
the author, title, and a method of tying collections together via 
the B-C'ode all in the same fields, which makes your 
retrievals sorts easier. Having raised this point. I now wonder 
how I am going to solve the question of how do you handle a 
collection ol short stories bv different authors? You have the 
editor showing up as the author of the hook, and the actual 
author showing up as the author of the short storv. Well, your 
readers can figure that one out for themselves. 

In this particular case study, the author might want to use the 
IBSN as a replacement lor the P-Code and the B-C'ode. I he 
IBSN is the International Book Serial Number, which uniquely 
identities a book as to publisher and title. 

David Williams 

5079 Blacksmith Drive 

Columbia. Ml) 21044 



Reply to "An Amazing 
Computer System" 

Dear Editor; 

In the July-Aug 1977 Creative Computing there was a letter 
from a poor soul who thought that an IBM I 130 was a fantastic 
deal. Well. I suppose that if one wants a machine which has the 
letters T'B' and "M" on its panel, and I 130 would he a good deal. 

However. I feel that any sixteen-bil processor lie.. Digital 
F.quipment C'orp.'s I.S1-II. Data General's Nova. etc.. with 
approx. S65-6K.OOO worth ol peripherals would he a much hetter 
match of processor to peripherals. Even this tvpe of a match is a 
bit ridiculous. 

For S70.000. a more realistic system would timeshare. have 
possibly two disk cartridge drives, some sort ol tape-storage 
media, most likely a sixteen-hit processor, 64K ol memory (or 
I28K bytes equivalent as Mr. Berlin says) and say 6-8 terminals. 

A svstem such as this can be purchased from any vendor 
(excepting, ol course. IBM) tor the range ot $60-80,000. May 1 
suggest that any installation thinking of buying a single-user or 
batch-oriented system think twice, tor the last of the great batch- 
machine manufacturers (IBM) probably wishes that it could get 
out of hatch into timesharing without lawsuits and other legal 
problems. Of course I am not talking about totally getting rid of 
batch processing: it still has very many valid uses. But lor a 
school, a total hatch system for 570,000 dollars is a waste of 
money, especially one with as sickly a processor as an 1 130. 

I suggest to the owners (leasers) of such a system: junk it and 
get a real machine. 

IBM Hater 
PS. Keep up the interesting work with the magazine. 
P.S.S. Pardon the illiteracy in the proceeding letter. 



Finding the Day of the Week 

Dear Editor: 

In your issue of Nov-Dec 1976. James Reagan described 
Zellcr's congruence, a formula for finding the day of the week 
given the numeric month, day of the month and year. The 
formula, as amended by Michael Smith in the Mar-Apr 1977 
issue is: 

F=(lNT(2.6*M-0.2)+K+D+lNI (D 4)+INI(C 4)-2*C)mod7 

where M=numeric month-2 (January & February become 1 1 
and 12 and the year is reduced by I ) 

K= day of the month 
D= last two digits of year 

C= first two digits of year. 

I recently had occasion to make use ol Zellcr's Congruence in 
a computer program and found an error, not in the expressed 
equation, but in its application to computers using binary or 
hexadecimal floating-point notation. I he error occurs in the 
first part of the equation; IN J(2.6*M-0.2). When the month is 
February. M=12 and INT(2.6*I2-0.2)=3I. on paper. On the 
computer, the result is 30. which messes up the entire month of 
February. This is because of the peculiar fact that numbers like 
.2 and 2.6 cannot be expressed exactly in binary, but are 
repeating binary fractions. The number .2 converts to the binary 
fraction .001 1001 1001 I. those twelve digits repeated infinitely. 
Consequently, instead of 2.6*12-0.2. the computer uses 
something like 2.599999* 12-0. 199999=30.9999X9. whose integer 
portion is 30. not 31. This problem is readily corrected either hv 
using IN I <2.6*M-0.I999) or the preferable IN l((26*M-2) 10). 

Mr. Reagan should he aware that he has not only provided us 
with a nifty sample problem for the programmer trainee, but 
also one which points out the need for every programmer to 
understand how computers represent numbers and the ways in 
which these representations can result in errors! 

Keith S. Reid-Grecn. Director 

Software Systems Development 

Educational Jesting Service 

Princeton. N.l 0X540 



10 



CREATIVE COMPUTING 




Seven points 

to consider 

before 

you buy your 

small computer. 



In this magazine, alone, there are probably a dozen 
ads for small computers. New companies are breaking 
ground like spring flowers. 

How. then, do you determine which computer offers the 
features you need most ... at the price you can afford? 

We*d like to propose seven basic questions to help you 
make an intelligent decision. 

IHow complete is the 
computer system? 
W Many buyers of small computers are in for a rude 
awakening when they have to spend additional money 
for interfaces. 

The Sol-20 Terminal Computer was the first complete 
small computer system. Everything you need to make 
it work is included in the basic package. 

2 Is powerful system 
software available? 
W It wont do if your system is "tongue-tied? 
Processor Technology Corporation has devoted 
more effort to the development of software than any other 
small computer maker. Our latest offering is the first 
fully implemented disk operating system for a small 
computer: PTDOS. It contains over 40 major commands, 
several languages and numerous utilities. Our high 
level languaues include Extended BASIC, Assembler. 
FORTRAN? FOCAL and PILOT.* 

3 Is the system easy 
to expand? 
W More and more computer owners are 
expanding their small computers to handle business and 
other specialized requirements. 

The largest Sol system can handle MK bytes of RAM 
memory and operate with a three megabyte on-line 
disk memory. Sol systems use the S-100 Bus. So you can 
use a wide variety of hardware. 



4 Is the computer 
well-engineered? 
9 Our Sol systems are the most conservatively 
rated and ruggedly built in the industry, period. In 
addition we designed them with you. the user, in mind: 
Sols are easy to build and a joy to operate. 

5 Does it have proven 
reliability? 
W What is the track record? There are over 
.S.(MX) Sol systems in the field. Our track record for reliable 
performance is unparalleled in the small computer field. 



6 



Does it have good 
factory support? 



A computer is a complex piece of hardware. 
So you want to be sure it is backed up with complete 
manuals, drawings and a factory support team that cares. 

Processor Technology offers the most extensive 
documentation of any small computer manufacturer. And 
we maintain a patient, competent telephone staff to 
answer your questions. 

ZAre maintenance and 
service people accessible? 
Where are they located? 
Processor Technology has maintenance and service 
people in over 50 cities around the U.S. 

As you continue turning the pages, see how we stack up 
to the other computers in this magazine. If we've 
succeeded in whetting your appetite, see your Sol dealer 
or write for information on the complete family of 
Sol computers. 

Processor Technology Corporation. Box C. 
7100 Johnson Industrial Drive. Pleasanton. CA 945ri6. 
(415) X29-2600. 



'Available s»x>n. 



Processorlechnology 



J 



put., .input/output... in 



Computer Club in Finland 

Dear Editor 

I'm writing to you to make you aware of our Computer Club 
that was started some 3 months ago and to get it mentioned in 
the List of Amateur Computer Clubs. 

We would be very happy to be able to contact clubs in the US 
and also to get information from manufacturers of equipment 
that could be hooked into the 6800 bus. We started our club bv 
purchasinga M EK680OD2 Kit from our local friendly Motorola 
rep., were lucky enough to find a paper-tape readcrand punch at 
a scrapyard. What we now need most is memory and a VDU 
terminal and would be very happy if somebody could tell us of 
suitable products, as it is not financially possible for us to get to 
the States to a Hobby Computer Fair and there are no Hobby 
Computer Shops around, cither. 

What we lack in availability of equipment we try to make up 
in enthusiasm and effort. Just think how many of you would 
have a Home Computer if you had to find out about them in 
foreign magazines written in a foreign language, too. 

Kurt Soderstrom 

Computer Club of Porvoo 

Gamtnelbackantie 3E 33 

SF-06100 Porvoo 10 

Finland 



CRTs and Their Effect on Users 

Dear Editor: 

In reference to the letter from Ken Roberts in your Sept-Oct 
1977 issue. I doubt that he is suffering from CRT radiation, since 
he made no mention of such expected symptoms as hair falling 
out. nose twitching spastically. and eyeballs rolling uncon- 
trollably. I suspect instead that Mr. Roberts is suffering from the 
subtle emanations given off by the S-100 memory bus ... a 
little-known malady, all research on which has been ruthlessly 
suppressed by a sinister combine of giant microcomputer 
manufacturers. 

One alternative possibility is a case of Sordoniau Counter- 
culiunu. which is characterized by the tongue curling up in the 
check. Obviously the "Input-Output" staff has not vet 
contracted this disease . . . beware, for it is known to be highlv 
contagious. 

I'm sending both you and Mr. Roberts copies of an article my 
partner Bonnie wrote concerning CRTs and their effects on 
users. I his appeared some time ago intheCAPONE Newsletter 
(Chicago Area Programmers ol NOVA* and ECLIPSE). I 
think it's relatively comprehensive: may give you a scrap or two 
of information. 

Laurancc F. Wygant 

Chief Programmer 

The Toolsmith Organization. Ltd. 

Box 95094. Woodfield Mall 

Schaumburg. II 60195 

I ips on Cathode Ray Tube TERMINALS 
Bonnie Wygant (Pelam. Inc.) 

I he use of CR1 s (cathode ray tubes) as a tool for on-line data 
entry is growing rapidly. They have come into use so fast that 
little is known about their effect upon the people who use them. 
I he only reference I have seen to the subject is a recent article 
called "CR'I s pose health problems for operators", hv Dr. Olov 
Ostberg*. He mentions several areas in whichcomplaintscan be 
Classified. The major difficulty is that the symptoms are very 
common (such as eyestrain, headache, burning eves, body and 
mental fatigue) and are not taken as serious complaints. 
Here are some tips to consider when working with CRTs The 
key is to MINIMIZE FATIGUE! Ways to do this are: 
I Be sure the keyboard and screen are both at a comfortable 
height. Agood height for the keyboard is very similar to that of a 
typewriter; hands should be able to rest on the kevs about level 



or slightly downward from the elbow point. Your line of vision 
with the screen should be straight, since holding the head too 
high or too low can quickly make the neck muscles tired. An 
alternate possibility is to vary the level of your chair: however, 
your feet should rest flat on the floor and carry the weight of the 
legs, or you will cut off circulation. Good posture is essential. A 
proper chair is essential. 

2. Try to have good light too much can be as bad or worse 
than too little. The light neara window is generally too bright, as 
is the fluorescent lighting commonly found in offices. It pro- 
duces a glare that is fatiguing. Fluorescent bulbs are notorious 
for flickering and this. too. is undesirable. Reflections on the 
screen are a no-no. 

3. Clean the screen often with alcohol or glass cleaner. 
whatever the manufacturer recommends. Dust will make the 
image on the screen appear hazy, causing your eyes to constantly 
adjust to correct the focus. (This is an eye rellcx of which we arc 
never really aware.) This too causes fatigue. Cleaning at least 
once a week is a good practice. 

4. Diversions from long periods in front of the CRT can be 
extremely beneficial. Break up your activities chase a person 
of the opposite sex around the office at regular intervals. Make 
good use of break and lunch periods to remove yourself from the 
immediate environment. If you are a bookworm, remember that 
reading during a break may further tire your eyes. 

5. Try to have your CRT out of the immediate vicinity of the 
computer. The noise of the inductors and the blowers is a 
mixture of sound that, combined with the heat generated from 
the machine, can make you extremely sleepy. A printer or card 
reader in use can be a very annoying distraction. Concentration 
becomes a struggle. The end result is fatigue. 

6. For those who wear eye makeup it is advisable to try non- 
allergenic brands. Most have some allergies whether they arc 
cognizant of them or not. A good test to find out if you are 
allergic is to put your eye makeup on... Do your eves feel 
heavy?... Or like you have Plymouth Rock inside one or both 
eyes'.' Are your eyes red or extremely sensitive'' Do you feel like 
rubbing them? You're probably slightly allergic. Non-allcrgenic 
cosmetics may cost more but believe me they're worth it. 

Let me say in closing that fatigue is a very general term, but the 
use of the word here covers both physical and mental reactions. 
as the two arc often mixed. Try to develop good habits now. 
• Health and Safclv. Vol. 44 No. 6 ( Nov I )cc 75) pp 24-26 
52. 50. 46. 




12 



CREATIVE COMPUTING 



HORIZON 

THE COMPLETE COMPUTER 





Look To The North Star HORIZON Computer. 



HORIZON™— a complete, high-performance microprocessor 
system with integrated floppy disk memory. HORIZON is 
attractive, professionally engineered, and ideal for business, 
educational and personal applications. 

To begin programming in extended BASIC, merely add a CRT 
or hard-copy terminal. HORIZON! includes a Z80A processor, 
16K RAM, minifloppy™ disk and 12-slot S-100 motherboard 
with serial terminal interface — all standard equipment. 

WHAT ABOUT PERFORMANCE? 

The Z80A processor operates at 4MHZ — double the power of 
the 8080. And our 16K RAM board lets the Z80A execute at 
full speed. HORIZON can load or save a 10K byte disk program 
in less than 2 seconds. Each diskette can store 90K bytes. 

AND SOFTWARE, TOO 

HORIZON includes the North Star Disk Operating System and 
full extended BASIC on diskette ready at power-on. Our BASIC, 
now in widespread use, has everything desired in a BASIC, in- 
cluding sequential and random disk files, formatted output, a 
powerful line editor, strings, machine language CALL and more. 



EXPAND YOUR HORIZON 

Also available— Hardware floating point board (FPB); addi- 
tional 16K memory boards with parity option. Add a second 
disk drive and you have HORIZON-2. Economical serial and 
parallel I/O ports may be installed on the motherboard. Many 
widely available S-100 bus peripheral boards can be added to 
HORIZON. 

QUALITY AT THE RIGHT PRICE 

HORIZON processor board, RAM, FPB and MICRO DISK SYS- 
TEM can be bought separately for either Z80 or 8080 S-100 bus 
systems. 

HORIZON-1 $1599 kit; $1899 assembled. 

HORIZON-2 $1999 kit; $2349 assembled. 

16K RAM-$399 kit; $459 assembled; Parity option $39 kit; $59 
assembled. FPB $259 kit; $359 assembled. Z80 board $199 kit; 
$259 assembled. Prices subject to change. HORIZON offered 
in choice of wood or blue metal cover at no extra charge 

Write for free color catalogue or visit your l< x al O >mputer store. 



North Star Computers 

2465 Fourth Street • Berkeley, California 94710 • (415) 549-0858 



CDMPLEflT 



COMPUTER 
CflTflLDGUE 




We welcome entries from readers for the 
"Compleat Computer Catalogue" on any 
item related, even distantly, to computers. 
Please include the name of the item, a brief 
evaluative description, price, and complete 
source data. If it is an item you obtained 
over one year ago, please check with the 
source to make sure it is still available at the 
quoted price. 

Send contributions to "The Compleat 
Computer Catalogue," Creative Com- 
puting. P.O. Box 789-M. Morristown, NJ 
07960. 



BOOKS AND 
BOOKLETS 



MICROCOMPUTER 
TROUBLESHOOTING MANUAL 

The newly published Microcomputer 
Troubleshooting Manual is aimed at the 
owner of a microcomputer who is not an 
experienced technician, yet would like to 
do minor maintenance and trouble- 
shooting on his microcomputer system. 
The manual assumes no experience or 
knowledge beyond that which the person 
who programs his system in machine 
language will already have. Basically, the 
manual tells you how to interpret the 
symptoms of an ailing system and presents 
a systematic technique for locating their 
causes. There is no theory here, just a few 
simple procedures to follow when things go 
wrong. Since most causes of system 
malfunction are relatively simple, this 20- 
page manual might be just what you're 
looking for. SS. 

Pat Rankin. Micro-Info Assoc., Box 
849. Castroville, CA 95012. 

BRAIN TICKLERS 

This 30-page booklet. "A Collection of 
Brain Ticklers for Everyone." is a collec- 
tion of about four do/en problems (with 
solutions). A few are fairly well known 
among puzzlers, such as Crossed Ladders, 
but most are refreshingly new, and cleverly 
illustrated. $1. 75. 

Taylor Associates, 59 Middlesex Turn- 
pike, Bedford MA 01730 



VENDOR 
LITERATURE 




BEGINNER'S GUIDE TO SMALL 
BUSINESS COMPUTERS 

A new booklet from Digital Equipment 
Corporation, designed to unravel the 
mysteries of small business computing 
systems, details a step-by-step approach to 
matching computer capabilities with 
business needs. 

Digital Equipment Corporation, Com- 
munications Services, Brochure E A 07430, 
444 Whitney Street, Northboro, MA 
01532. 



HP MX SYSTEMS BOOKLET 

A new 124-page booklet that includes 
nearly all published data sheets about HP 
21 MX-based computer systems is 
available without cost from the Hewlett- 
Packard Company. The HP 21 MX family 
are high-performance small computers 
whose flexibility make them ideal as 
building blocks for scientific measurement 
and control systems, disc-based systems 
and as distributed network stations. Also 
discussed are memory systems, extenders, 
hardware and microprocessing accessories. 



14 



and data communication, terminal and 
instrumentation interfaces. 

Also available is a new 60-page catalog 
of all currently available real-time execu- 
tive software for the 21 MX computers and 
1000 systems. 

Inquiries Manager, Hewlett-Packard 
Co., 1501 Page Mill Road, Palo Alto, CA. 
94304. 



ORGANIZATIONS 



MUMPS USERS' GROUP 

The MUMPS Users* Group (MUG) 
offers literature and meetings on people 
interested on medical, educational, com- 
mercial, and other applications. In par- 
ticular, a $2 "Book of MUMPS" is 
available, which contains a summary of the 
MUMPS language, information about 
implementations of MUMPS on the 
micro, mini, and large computers, 230 
different MUMPS applications and their 
sources, names and addresses of over 40 
MUMPS vendors, and document lists. 
Also available is the Standard MUMPS 
Pocket Guide at $ I per copy; this guide is a 
concise technical summary of the complete 
MUMPS language. 

MUMPS Users' Group, 700 South 
Euclid Ave., St. Louis, MO 631 10. 

COMPUCOLOR USERS 
GROUP 

Dedicated to the exchange of programs 
and technical data for the 8001, the 
Compucolor Users Group plans to issue a 
news bulletin, covering topics such as how 
to concatenate tapes and disks. For each 
accepted program, a member will receive in 
return a number of other programs. The 
initial membership fee of $10 covers 
duplicating and mailing costs. Among 
present programs are Blackjack, a "fan- 
tastically illustrated" version of Star Trek, 
illustrated slot machines, etc. The group 
hopes to exchange recorded media rather 
than program listings. 

Compucolor Users Group, c/o S.P. 
Electronics, 5250 Van Nuys Blvd., Van 
Nuys, CA 91401. Send a large self- 
addressed envelope. 

CREATIVE COMPUTING 



COMPUTERS 




OHIO SCIENTIFIC 
CHALLENGER III 

The Ohio Scientific Challenger III 
contains a new triple-processor CPU board 
"that can run virtually all published 
software available today for 
microprocessors at a very small cost 
increase over comparable single-processor 
computers." Equipped with three 
microprocessors. Challenger HI runs 6800. 
6502, 8080 and Z-80 programs. Challenger 
III comes standard with the OS-65D Disk 
Operating System. One application of the 
Challenger III is for personal-computing 
experiments with the three processors. 
Personal finances, strategic games, home 
and business applications are among the 
many applications. For advanced users a 
software processor status switch is 
available so that multiple-processor 
programs can be written. This option also 
includes a one-megabyte paper and user 
programmable vectors for both the 6502 
and 6800 allowing real-time multitasking 
operation. 

Ohio Scientific, 1 1681 Haydcn, Hiram, 
OH 44234. 




RCA HOBBY COMPUTER KIT 

A new, expandable, low-cost hobbvist 
computer kit, called COSMAC VIP— 
Video Interface Processor is now 
available from RCA Solid State Division 
to permit the hobbyist to assemble a 
microcomputer with which he or she can 
create and play video games, generate 
graphics and develop microprocessor 
control functions. The VIP is a complete 
computer on a printed circuit card, offering 
a complete operating system in only 4K bits 
of ROM. VIP's output directly interfaces 
with a monochrome CRT display or, when 
used with an FCC-approved modulator, a 
TV receiver. Programs can be generated 
and then stored in an audio cassette tape 
recorder for easy retrieval and use. The 
VIP features a single 8-1/2x1 1-inch PC 
card with the CDPI802 microprocessor. 



2.048 byte RAM using 4K-bit static 
RAMs, single-chip graphic video display 
interface, built-in hexadecimal keyboard, 
100-byte-per-second audio tape cassette 
interface and simple wall-plug regulated 
power supply. RAM capacity can be 
doubled on the card to 4,096 bytes by 
adding four 4K-bit devices, and can be 
expanded to a total of 32K bytes by adding 
further memory capacity through a 44-pin 
connector socket in the card. Parallel I O 
expansion to 19 lines can be achieved on 
the PC card for such purposes as music 
synthesizers, relays, a low-cost printer or 
an ASCII keyboard. $275.. 

RCA Solid State Division. Box 3200, 
Somerville, NJ 08876. 




POLYMORPHIC SYSTEM 8813 

The PolyMorphic System 88 1 3 is a 
compact complete disk-based microcom- 
puter. The central unit, no larger than a 
stereo component, includes I6K bytes of 
RAM and room for three mini-floppy disk 
drives. Included in the package is a video 
monitor, keyboard with cable, and com- 
plete system software on diskette. System 
software allows you to put the system to 
work immediately, running applications in 
either assembly language or in fully 
extended BASIC. The small separate 
keyboard permits convenient use of the 
system at desk or table. The high-speed 
video display exhibits results in graphics 
and alphanumerics. Because it uses mini- 
floppy disks, the 88 13 allows convenient 
storage and fast access to programs and 
data by means of simple user commands. 
Prices start at $3250. 

PolyMorphic Systems, 460 Ward Drive. 
Santa Barbara, CA 931 1 1. (805) 967-0468 




QUAY 8000 COMPUTER 

The Quay 8000, a complete S-100 bus 
system based on the Quay 80 Al (Z-80 
CPU) kit, includes a 12-slot mother board 
with all connectors and card guides, an 18- 
amp power supply. Quay 80 AI, Quay 80 
SMB. 8K Static RAM board, wood grain 
cabinet, and 4K BASIC on cassette tape. 
The Quay 8000 is a complete kit requiring 
only a terminal. The popular Quav 80 Al 
CPU includes the serial I/O for RS232-C 



or 20-ma terminals, a jump-to-start 
monitor in UVPROM, sockets for up to 
4KofUVPROM. IKofstaticRAM.anda 
2708 UVPROM programmer. $1095. 

Quay Corp., Box 386. Freehold, NJ 
07728. (201)681-8700. 



TERMINALS 




HAND-HELD MICROTERMINAL 

The size and shape of a pocket 
calculator, RCA Solid State's new 
COSMAC Microterminal CDPI8S02I 
offers a low-cost, low-power, non-hard- 
copy alternative to the conventional, more 
expensive teletypewriter data terminal. 
Together with its Utility Program on an 
associated ROM, the Microterminal 
provides a convenient means of controlling 
a COSMAC microprocessor-based 
system, reading and modifying memory, 
and providing hexadecimal 1 () capability. 
It is specifically suited for use with the 
COSMAC Evaluation Kit CDPI8S02I or 
the COSMAC Development System 
CDP18S005, but it can readily be designed 
into user-built systems to provide control, 
communications, and debugging func- 
tions. Requiring less than 375 m A at 5V dc, 
the Microterminal is suited for portable or 
battery-operated applications. The 
Microterminal keyboard is used to enter 
data and memory addresses through the 
standard hexadecimal input keys. Eight 
control functions are regulated by seven 
additional keys and a switch which selects 
either continuous or single-cycle program 
execution. Specially designed for 
microprocessor applications, a new 
600mA, 5V power supply, the 
CDPI8S023, is also available. This supply 
is capable of powering both the Microter- 
minal and the COSMAC Evaluation Kit 
augmented with four kilobytes of 
CDP1822S RAM. The power supply 
operates directly from any standard 1 15V 
50/60 Hz outlet. The Microterminal is 
$140 andthe Microsupply $25. 

RCA Solid State Division. Box 3200. 
Somerville, NJ 08876. 



JAN/FEB 1978 



15 




PERIPHERALS 



HEXADECIMAL KEYPAD 
FOR MMD-1 

Two data entry and display keypads 
have been introduced by E&L Instruments, 
Inc. as accessories for their Mini-Micro 
Designer (MMD-I) training and develop- 
ment microcomputer. One keypad is 
furnished with a two-digit hexadecimal 
LED display expandable to six digits. 
MMD/HEX-I and MMD HEX-2 
keypads provide the MMD-I user with a 
low-cost, convenient method for program- 
ming with the 4-bit binary hexadecimal 
code. The simple calculator-type 16-kev 
array with eight additional function keys 
permits the user to execute programs, 
modify or examine the contents of memory 
and registers and monitor program perfor- 
mance. 

A factory-programmed HEX L/D 
PROM for hexadecimal conversion 
replaces the HEX PROM originally 
supplied with the M M D-l . One pair of 0.3- 
in. high LED hexadecimal displays is 
furnished with each MMD, HEX-2 keypad 
and two additional pairs are optional. 
Displays may also be added to the 
MMD/HEX-I keypad. 

The assembled MMD/HEX-I is $125: 
$105 kit. The assembled MMD HEX-2 is 
$185; $155 kit including the pair of dis- 
plays. 

E&L Instruments, Inc., 61 First St.. 
Derby CT 06418. (203) 735-8774. 




TERMINAL FOR 
HOBBY MARKET 

Anderson Jacobson. Inc. (AJ). has 
entered the hobby market with an I O 
terminal priced for the serious hobbvist. 
Originally selling for over $4,000. the AJ 
841 is an IBM Selectric terminal and off- 
line typewriter that has been completely 
refurbished. It includes a built-in ASCII 
interface. $995. 

Steve Tritto, Anderson Jacobson. Inc., 
521 Charcot Ave., San Jose. CA 95131. 
(408) 263-8530. 




MULTICOLOR GRAPHIC 
TIMESHARE PLOTTER 

Microprocessorr-based circuits in this 
new ISO A3 (28 by 40 cm; 1 1 by 17 inch) 
flatbed timeshare plotter improve 
operating efficiency to reduce timeshare 
computer and transmission costs. The 
four-color Hewlett-Packard Model 722 1 A 
Graphic Plotter features internal arc and 
circle generation, and user-defined dashed 
line patterns. Any sequence of plotter 
instructions can be stored in the buffer 
memory as macro-instructions for recall as 
many times as needed. Up to 64 different 
macro-instructions can be stored at one 
time. Typical users of the Model 722 1 A 
include financial, administrative, scientific, 
engineering, and manufacturing personnel. 
Multicolor plots are especially useful in 
engineering modeling, plots of more than 
one measurement, manufacturing produc- 
tion control, numerical control verifica- 
tion' manpower loading, and in wide areas 
of mathematics, physics, and chemistry. 
Color graphics are achieved through 
programmable pen changing. $4600. 

Inquiries Manager. Hewlett-Packard 
Co.. 1507 Page Mill Road. Palo Alto, CA 
94304. 




INTEGRAL IMPACT PRINTER 

Integral Data Systems, offers a full- 
feature, dot-matrix impact printer design- 
ed for use with mini or micro-computer 
systems. Printing at rates to 1 20 cps with up 
to 132 characters per line, the Integral 



Impact's standard features include an RS- 
232 and current-loop serial interface, 
enhanced mode (double-width) characters 
and selectable character and line sizes 
Multiple copy capability on both fan-fold 
and roll paper is also a standard capability. 
Serial baud rates of 110 to 1200 bit* per 
second are selectable, and for those who 
prefer a parallel interlace, that capability is 
also provided. Switch settings select 
character sizes and line length from 80 to 
132 characters per line. $475.. 

Integral Data Systems. Inc.. 5 Bridge 
Street, Watertown, MA 02172. (617)926- 
1011. 



MISC. 
HARDWARE 




CONTROLLER WITH S-100 
COMPATIBILITY FOR 
MICRO-DISKETTE DRIVES 

"The Wangco820l Micro-Controller for 

"micro-sized" 5'/i-inch diskette drives 
provides a general-purpose host interface 
for 6800 and 8080-based microcomputer 
systems, minicomputers and other byte- 
oriented systems. One version of the 820I is 
pin-compatible with the industry standard 
S-IOO bus. A single printed-wire board 
plugs directly into the S-I00 connector 
The 820 1 uses the Intel MCS 8048. a 
microprocessor providing IK of ROM, 
RAM and I/O ports on a single chip. 
Formatting performed by the 820 1 Con- 
troller is of a soft-sectored, modified IBM 
type of 1 6 sectors per track, 1 28 bytes per 
sector. The Micro-Controller provides for 
a 128-byte sector buffer or multiple sector 
transfer without buffering. Unique func- 
tions of the 820 1 include a diagnostic 
command which causes self-test operations 
to be performed on all diskettes, and a 
duplicate function which automatically 
copies diskette information from one drive 
to another at one command from the host. 
The Wangco 820 1 will control up to four 
drives. $490. 

Wangco, Inc.. 5404 Jandy Place. Los 
Angeles. CA 90066. (2I3) 390-808I. 



16 



CREATIVE COMPUTING 



GRAPHICS IN EDUCATION 



"The 4051 enables an 
ideal learning technique: one-to-one 
dialogue with graphic examples." 



Alfred Bork 

University of California, Irvine 



Imagine a teaching 
assistant who continually 
involves students with 
intriguing graphic 
demonstrations. Who 
stays close enough to 
each student to critique 
answers and review material 
immediately after testing. 
Who tutors according to 
individual interests and 
learning rates. 

Dr. Alfred Bork brings 
that kind of assistance 
into his physics classes. 



It's Tektronix Computer 
Graphics. For example, the 
4051, pictured here, works 
as a low-cost, off-line or 
on-line learning device to 
help students study energy, 
gravity, momentum, and 
dozens of other subjects 
via fascinating simulations 
and graphic metaphors. 
It's a big assist to self-paced 
methods, lb testing. Even to 
course management. 

Whatever your subject 
matter, whoever your 
students, the 4051 makes 
learning a very memorable 
experience. For a video tape 



on Computer Graphics in 
Learning, application 
or product literature, please 
write: Institutional Market 
Manager 

Tektronix, Inc. 
Information Display Group 
RO. Box 500 

Beaverton, Oregon 97077 
Tektronix Datatek NV 
RO. Box 159 
Badhoevedorp 
The Netherlands 

Ibktronix 

COHKWTTID TO IxaulNa 




Copyright © 1977, "fektronix. Inc. All rights reserved. 




MUSIC FOR SW OWNERS 

The Newtech 68 music board enables the 
user to generate music, sound effects, 
rhythms. Morse code, and touch-tone 
synthesis. The 68 music board, designed for 
the Southwest Technical Products Corp. 
6800 computer, comes fully assembled and 
tested. It consists of a digital-to-analog 
converter, audio amplifier, speaker, 
volume control and phono jack for 
convenient connection to an external 
speaker or home audio system. The Users 
Manual includes sound-effects programs, 
test routines, listings of a BASIC program 
for writing musical scores, and a 6800 
assembly-language routine for playing 
them. An AC-30 compatible cassette 
contains programs from the Users Manual 
and software for pre-coded songs. $59.95. 

Newtech Computer Systems. Inc.. 131 
Joralemon St., Brooklyn, NY 1 1201. 




FREQUENCY METER 

Automated Industrial Measurements 
(AIM) has announced a frequency meter. 
AIM-1005. that may be directly interfaced 
with 8-bit microcomputers. It has 13 bits of 
resolution plus overrange, and has eleven 
time-base ranges, from 10 microseconds to 
one hour. AIM-1005 is interlaced with the 
microcomputer as ii it were memory, and 
can be located in 14 different locations. 
I hese locations are controlled with 
switches on the board, as is the time-base 
range. It is accurate to within±l count over 
the entire operating temperature range ol 
0°C to 70°C. The input frequency range is 

from IK" to 25 Mil/ minimum The input 
can be III. or the input comparator may 
be used to provide ±15 volts of common 
mode as well as a high-impedance input. 
An optional input is an AIM-1003. which 
allows one ol AIM's transducer digitizers 
to be connected using only a tw isted pair of 
wires I he input connections can be made 
from standoffs on the top of the board, or 
through the edge connector. 

II real-time measurements are required, 
an external reset is provided which allows 
the start ol the count period to begin when 
the reset is removed. I he microcomputer is 



informed that a real-time measurement is 
taking place by having an external reset 
and status flags as part of the first data 
byte. 

The complete frequency meter is on a 4" 
by 4'/;" PC card with a 40-pin edge 
connector with contacts on 0.1" centers. 
Because of its compact si/e. AIM-1005 is 
available mounted as a daughter board on 
the larger microcomputer cards, such as 
the Altair or IMSAI. offered as an option 
by AIM for S30 additional. AIM-1005 will 
aiso fit into any 4 1 -"card-cage system, such 
as the Xilog /8(> or the Pro-log systems. 
SI 78. 

Barry Hilton. Automated Industrial 
Measurements Inc., P.O. Box 125. 
Wayland. MA 01778. (617) 653-8602. 




VIDEO TERMINAL BOARD 

A low-cost video terminal board design- 
ed around the Mostek 3870 microcom- 
puter from Vectron is sized to fit into S- 100 
systems, but may also be used in stand- 
alone applications. It features both ASCII 
and BAUDOT serial interfaces, and 
requires only the addition of a standard 
ASCII encoded keyboard and a TV 
monitor to configure a complete full 
duplex video terminal. Among the features 
provided are full X-Y cursor control (both 
absolute and relative), screen clear, clear to 
end of line, page mode and autoscroll. 96 
displayable characters. 16 line by 64 
character display, plus multiple baud rates 
up to 300 baud ASCII. In S-100 systems 
the SCT- 100 may be powered directly from 
the unregulated+7 VDC bus (none of the 
other S-100 bus pins is used). For stand- 
alone applications an on-board rectifier 
and filter permit the operation of the board 
directly from an external 6.3 VAC, 1.0A 
transformer. Assembled and tested. SI 85. 
A partial kit including the PC board, the 
custom-programmed 3870 microcom- 
puter, and the character generator ROM is 
S85, or a complete kit containing all 
necessary components is SI 55. 

Vectron, Box 20887, Dallas. TX 75220. 
(214)350-5291. 



BIDIRECTIONAL I/O BOARD 

Micrologic's M712 general-purpose 
bidirectional I/O board is specifically 
designed to allow the Phi Deck cassette 
system to be interfaced to an S-100 
computer. The M7I2 requires only the 
cassette drive and control logic, both user- 
supplied, for operation with an Imsai. Sol 
or other S-100 computer. $99.95 kit: 
SI 19.95 assembled. 

Byte Shops of Indianapolis. 5947 East 
82nd St.. Indianapolis, IN 46250. (317) 
842-2983. 



" u " u u u u 

- K • P, - R P H _ 



16K EPROM MEMORY KIT 

Designed to plug into the popular S-I00 
bus. the Ibex memory board holds 16,2708 
EPROMs. Unused 4K sections can be 
disabled to allow RAM to exist within the 
board's address space. 1 he board also has 
prov isions lor a wait state to allow it to run 
on a /SO system I he kit comes complete 
with sockets lor all IC's. $85. less 
EPROMS. 

Ibex. 1010 Morse Ave.. Suite 5. Sun- 
nyvale. CA. 94086. (408) 739-3770. 



IMPROVED M&R 
RF MODULATOR 

The "SUP 'R' MOD" is an improved 
version of the RF modulator made by M & 
R Enterprises as described in the Sept-Oct 
issue of Creative. With the new unit, it is no 
longer necessary to modify your television 
set. The RF modulator is installed in your 
computer and an isolation switch mounted 
on the antenna terminals permits you to 
switch between normal usage of your 
television and the computer. The "SUP 'R' 
MOD" is recommended by APPLE Com- 
puter for use with its systems. "SUP 'R' 
MOD" is $24.95 plus $1 .00 for postage and 
handling. 

M&R Enterprises, P.O. Box 101 1, 
Sunnyvale. CA 94088. 




GIMIX VIDEO BOARD 

The Gimix video board, assembled and 
tested for use in SWTP systems, generates 
16 lines by 32 upper-case characters, and 
can be jumper-selected for 16x64 when 
used with a 10-MH/ video monitor. A 
dual-port IK RAM can be jumpered to 
the beginning of any I K memory segment, 
which the processor can read or write as 
though the memory were part of the 
system. Text scrolling and cursor are 
generated by software. $249. 

Gimix also has an 8K EPROM board 
lor the SW 6800. and plans to oiler a 
motherboard, relay-driver board, serial 
and parallel boards, etc. 

Ciimix. Inc.. 1337 West 37th Place. 
Chicago, U. 60609. (312) 927-5510. 



18 



CREATIVE COMPUTING 




2400-BAUD 
CASSETTE INTERFACE 

Microprocessor programs and data can 
be loaded and dumped from an audio 
cassette eight times faster than the standard 
300 baud with the new Wince cassette 
interface. The interface also supports 300- 
baud Kansas City Standard operation. It 
interfaces directly to the Motorola 6850 
ACIA. The Vh" x 5" module also contains 
an RS-232 interface for standard baud 
rates from 150 to 9600. $139. 

Wintek Corp., 902 N. 9th Street, 
Lafayette, IN 47904 (317) 742-6802. 



ALL TOGETHER NOW! 

The acclaimed Equinox 100" mainframe kit ($799) is now 
a complete S-100 system 

Because now there is an Equinox 100*" I/O interface kit 
($120) that handles the hard work of interfacing all your 
peripherals 

And Equinox 100*" 4K memory kits ($109). Assembled 8K 
memory boards ($188) EQUATE*" editor/assembler and 
BASIC-EQ*" software on cassettes. 

It all goes together. It all works together It s all together 
now at special system prices 

See The Equinox System*" at your local computer shop. 
Call toll-free to 800-648-5311 BAC MC accepted. Or write 
Equinox Division. Parasitic Engineering, P.O Box 6314, 
Albany California 94706 



ADAPTER CARD INTERFACES 
PERSCI DISK TO S-100 

INFO 2000 has an adapter card that 
connects the PerSci Disk Drive Controller 
to any S-IOO bus. The INFO 2000 Adapter 
now permits easy interfacing to the fastest 
disk drive available in the low-priced line. 
The INFO 2000 Adapter card includes 
circuitry for an additional 3K of EPROM 
and IK of fast RAM. The ad vantage to this 
is that the user can place his entire 
operating system and scratch pad in the 
EPROM and RAM on the adapter and 
free up all his system RAM for programs. 
All that is required is that you purchase 
four 2708 EPROM and two 21 14 RAM 
chips. The INFO 2000 Adapter kit can be 
assembled in one hour. A prototype area is 
included on the board for other features 
such as a wait state if you require one. 
INFO 2000 will provide all the necessarv 
details for assembly and adding the wait 
state. 

What thclNFO 2000 Adapterowner can 
now have is a complete operating system 
(DOS), "intelligent controller." 7K of 
EPROM. 2K of RAM, all on one card that 
plugs into the S-100 bus. Kit, $85. 

I \ I O 2000, P.O. Box 3 196. Culver City. 
CA. 90230. 



X s * 



TTTip 




CONTROLLER IN A BOX 

The CM-48 is a complete stand-alone 
computer controller. It contains its own 
crystal clock (for accurate time-keeping). 
IK of EPROM for program storage, 64 
bytes of RAM data storage. 27 I/O lines, a 
few wire-wrap sockets for relay drivers. 



THE EQUINOX SYSTEM" When you put it together, it's really together 



etc., all in an aluminum case. The CM-48 
is built around the new Intel 8048 
microprocessor, fast (2.5us cycle time) and 
efficient (all instructions are I or 2 bytes 
long and require only I or 2 cycles). The 
processor includes a built-in 8-bit counter 
which can also be used as a precision 
timer. 

- The power, flexibility, and size of the 
Computer Module makes it ideal for 
environmental control (such as heating 
and cooling based on time of day. inside 
vs. outside temperature, etc.). It also 
makes a great burglar alarm or remote 
security station. Or, it can be used as a 
universal interface box, such as RS-232 to 
parallel ports or as a flexible interface to 



DVMs and other test equipment. Com- 
puter Modules can also control robots, 
trains, automotive accessories, telephone 
dialers, slide projectors, etc. 

The CM-48 with 8048, crystal oscillator, 
and 2708 IK EPROM. requires + I2v,±5v; 
$149. The CM-48- 1 with 8748 microproc- 
essor and built-in IK EPROM. requires 8- 
12 volts unregulated; $249. The CA-80/48 
Cross Assembler is a full-feature 8K 
assembler that makes it easy to compose, 
edit, print and store programs for the 8048- 
based Computer Modules using any 8080- 
based computer system. $48. 

Oliver Audio Engineering. Inc.. 7330 
Laurel Canyon Blvd., North Hollywood, 
CA 91605. (213) 765-8080. 



JAN/FEB 1978 



19 




PROCESSOR TECH SEMIKITS 

The new 16KRA RAM board from 
Processor Technology is the first in a series 
of memory modules offered in fully- 
assembled and wave-soldered form with 
pretested ICs. Semikits are priced about 
the same as competing kits according to the 
firm. Believed to be the first modules for 
small computers available in this form, the 
semikits memory modules will bring an end 
to such common kit-building problems as 
bad solder joints, heat-damaged com- 
ponents and faulty integrated circuits. Full 
documentation is provided with step-by- 
step procedures for the user to test arid 
burn-in the boards. Features of the first 
semikit include a 16,384-byte memory, 
invisible refresh and worst-case access time 
of 400 nsec. Each 4096-word block is 
independently addressable for maximum 
system flexibility. Power is typically 5 
watts, the same as most single 4K memory 
modules. Backup power connection is 
built-in. $369. 

Processor Technology Corp., 6200 
Hollis St. Emeryville. CA 98608. (415) 652- 
8080. 




32K MEMORY BOARD 

Artec Electronics has a 32K static 
memory board in modular form designed 
primarily for microcomputer hobby ists but 

also applicable for small business Uses 

Designated 32K-I00. the board is fully 
compatible with the S-I(M) data bus and 
speed-compatible with Zilog /XO-bascd 
systems. I he basic board with all support 
circuits, power regulator. XK bytes of 
memory and assembly manual sells tor 
S290. 

Additional 8K bytes of static RAM cost 
S255 each, and a lull 32K memorv board 
sells lor SI. 055. 

rhe32K-IOO requires a single +8 voltage 
only, with a power usage ofj amps: access 



time of the DMA-compatible board is 250 
nanoseconds. DMA compatibility allows 
users to access memory directly without 
going through the central processing unit 
(CPU) on the microprocessor board. 

The 32K board, fully buffered on all 
address and data lines, also features battery 
back-up (allowing operation at reduced 
power consumption), and a "bank select" 
provision so users can select the blocks, or 
banks, of memorv they want to address. 

Artec. 605 Old Country Road. San 
Carlos, C A 94070. (415) 592-2740. 




D/A CONVERTER 

This self-refreshing four-channel D/A 
converter for the S- 100 bus has instructions 
for alternate connection to Digital Group 
Systems, and includes complete output- 
port address decoding and tri-state bus 
connection. The converter is eight bits and 
can be set to cover any range within + to 
10 volts. The D/A converter operates at a 
rate of 50,000 conversions a second, 
updating the four sample hold outputs 
from a scratch-pad register. Circuit opera- 
tion, as seen from the computer, is 
completely static — needing no software 
refresh or wait states — and is intended for 
use with output commands in BASIC 
programs. Computer checkout requires a 
simple four-byte program and calibration 
is limited to two minor adjustments. PC 
board. $34; kit with all components, $69; 
completed and tested board, $99. 

Pinnacle Products, Box 3155, Talcott- 
ville. CT 06066 




64K RAM BOARD 

A fully-tested 64K RAM board offered 
b> Cxtensys meets S-100 computer inter- 
lace specifications, including Altair and 
Imsai units, and allows memorv addition 
up to 1.048.576 bytes. I he 5"\I0" PC 
board contains 65.536 bytes and has 
hardware provision for bank-switching to 
add over one million bytes, far beyond 
normal microprocessor capacity. The 
board also allows memory address to be set 
in 8K-byte increments and provides 
hardware-write protection in (oK-byte 
increments. Voltages are + 12 at 300 mA. +5 
at 750 mA. and -5 at I mA. Cycle time is 
500 nscc. with 400 nsec access time. 
Memory overlap protection is provided to 
ensure no conflict with existing memories. 
All boards are fully assembled, tested, and 



burned in. The64K RAM board is $1,495. 
A 32K board is offered at $895. and a 48K. 
board at $1,195. 

Extensys Corp.. 592 Weddcll Drive, 
Suite 3. Sunnvvalc. CA 94086. (408) 734- 
1525. 



SOFTWARE 

WORD-PROCESSING SYSTEM 

Interactive Data Systems has developed 
a word-processing system, IDSWORDI, 
designed to run under MITS Disk Extend- 
ed BASIC. Some of the more important 
features of the system are line editing, 
global editing, merging, reformatting, 
moving text, printing and form letters. 
IDSWORDI is a package consisting of 
several programs. This fact is transparent 
to the user but allows it to run on a 
computer with 28K of memory. The user 
selects the mode of operation from a menu 
list and the control program executes the 
appropriate program and gets control back 
to select another mode. The system is 
provided on a diskette. $250. 

Interactive Data Systems. Box 290, 
Owings Mills. MD 21 1 17. (301) 486-6945. 

"XIM FOR KIM 

"XIM" (Extended I/O Monitor) by 
Pyramid Data Systems is a programming- 
debugging package developed for the 
KIM-I Microcomputer. XIM features a 
repertoire of 17 commands, four of which 
are user-defined for expansion. XIM can 
do operations such as block search, block 
move, block compare, set break points, 
display processor registers, and more. XIM 
resides in less than IK of core at 2000 to 
23FO(hex) and it is ROM-able and easily 
relocated to suit the user. 

The cassette and paper-tape versions are 
$12 and $10 respectively. A 45-page 
manual with commented listings is includ- 
ed, shipped postpaid USA. NJ residents 
add 5% for sales tax. 

For more information, send an SASE to: 
Pyramid Data Systems. 6 Terrace Ave.. 
New Egypt. NJ 08533. 

ANSI STANDARD FORTRAN IV 

Technical Design labs announce what is 
said to be the first complete ANSI 
STANDARD FORTRAN IV for a 
microcomputer." FORTRAN IV was 
written exclusively for Technical Design 
Labs and the Z80 by Small Systems 
Services, Inc. FORTRAN IV is equipped 
with many extensions that exceed the usual 
ANSI standard requirements: data types 
(integer*!, integer*2. real.doubleprecision. 
complex, logical and string), named 
common (equivalence, statement func- 
tions, implicit), full type conversion, full 
library of scientific and string functions, 
linking loader with automatic library 
search (can link with assembler output), 
full formatted I/O, sequential and direct- 
access I / O, hex constants, and control over 
placement of data and code areas (the code 
can run from ROM). This FORTRAN is a 
disk-oriented system. It runs in less than 
24K with DOS. and both FDOS IV AND 
CP/ M versions are available. The package 
now includes both the floppy diskette with 



20 



CREATIVE COMPUTING 




OUTSTANDING 

TERMINAL 

EQUIPMENT 

VALUE 




IBM 2741 - compatible or 
standard ASCII (with Break and 
Control code features). RS232-C 
interface. 

RECONDITIONED SELECTRIC 
TERMINALS 

CONTACT KEN P»YNE 

Dai-Data Inc. •1111 W. Mockingbird Lone 
Suite 1400 • Dallas, Texas 75247 • 214-630-971 1 



IBM Correspondence 

or BCD Code $795.00 

• IBM 2741 Compatible 

• RS232C Interface 

ASCII Code $995.00 

• 300 Baud 200 Character 
Print Buffer 

RS232C Interface 

Break and Control Code features 






30 DAY WARRANTY 
NATIONAL SERVICE AVAILABLE 



object code and a user's manual. $349. 

Donna Galletti. Director of Sales. 
Technical Design Labs. Inc.. Research 
Park, Building H. 1101 State Road. 
Princeton. NJ 08540. (609) 921-0321. 

NORTH STAR 
EXECUTIVE SOFTWARE 

XEK, a complete system executive 
package for North Star users, available 
from the Byte Shop of Westminster, 
contains a disassembler capable of creating 
files that may be left in memory when 
changing from the disassembler to the 
executive package for re-assembly. The 
monitor software can accept input from 
cassette tapes and paper tape as either 
source or object files, as well as from the 
North Star diskette system. In addition, the 
assembler features a new auto-line editor 
for the creation of source files. I his editor 
also extends to the modification of existing 
object files. Another feature is the XEK's 
ability to handle up to six named files at 
once that may be consecutively assembled 
to form one object file. $48. 

The Byte Shop of Westminster. 1 43(H) 
Beach Blvd., Westminister. CA 92683. 
(714)894-9131. 

MISCELLANEOUS 

MICROCOMPUTER DESK 

A desk specifically designed to house a 
personal or business microcomputer 

JAN/FEB 1978 




system is now available from Computer 
Systems Design. The Microdesk can be 
assembled without tools in five minutes. 
The desk is constructed of high-density 
vinyl clad board and measures 48" by 24" 
by 28". A sliding shelf at convenient typing 
height is provided for a keyboard. Also 
included for equipment and books are two 
fixed shelves, one of which is adjustable. 
$96.50. FOB Wichita. 

Computer Systems Design, 1611 E. 
Central, Wichita, KS 67214. 

MICRO-COMPUTER 
REPAIR SERVICE 

A new repair service called I he Com- 
puter Doctor. Inc., has opened for 
business. The company offers a full range 
of repair and counseling services on all 
brands of microcomputers, processors. 



21 



peripherals, and memory, and promises 
two-day service in most cases. As an added 
feature The Computer Doctor has a unique 
rebuild-it-yoursclf plan for kit builders 
who are having trouble. The Computer 
Doctor is Cirant Snellen, a computer 
engineer with over 1 5 years experience in 
the industry, most of it in field sen ices. He 
has worked for Harris and Digital Equip- 
ment Corporations and was chief engineer 
in charge of the design and construction of 
MIT's Wallace Observatory. I he Com- 
puter Doctor is open 6 days a week, from 
noon to 10 PM. 

The Computer Doctor. 1 2 Howard. St.. 
Cambridge. MA 02I39. (6I7) 66I-8792. 



S-100 CARDFRAME 
PANEL SET 

Objective Design announces the 
availability of a starter set for the construc- 
tion of an S-100 cardframe and power 
supply. The set includes front and rear 
panels of I 8 inch aluminum, prepunched 
and drilled for maximum design versatility. 
Complete instructions for the assembly of 
both a full-si/ed 22-slot cardframe and a 
ten-inch 12-slot model are included. Also 
included is information on all required 
parts and sources of supply, lull assembly 
instructions, and detailed plans, 
specifications, and illustrations. S39.95. All 
panel sets will be shipped insured freight 
collect FOB Tallahassee. Florida. 

Objective Design. Inc., Box 20325. 
Tallahassee. 11 32304. 







play very well." It is based on Bob 
Leedom's Super Star Trek, with 
modifications and enhancements to exploit 
the advantages of a CRT, and is composed 
of "top-down" modules: it can be easily 
modified for individual tastes. The 
COBOL source code and CICS maps 
amount to about 3000 lines. $5 for full 
source listings: $20 for 9-track magnetic 
tape ($5 refund if you provide tape, or 
when you return Rick's tape). 

Rick Jones. 15702 Horace St.. Granada 
Hills. CA 91345. 



STOCK CABLE ASSEMBLIES CALCULATORS 



Interconnect Cable Assemblies are 
perfect for testing or connecting circuitry 
within a board or for jumping from board 
to board. Assemblies feature rainhow- 
color-coded flat cable with 26 AWG 
stranded conductors soldered and epox) 
encapsulated to popular top-entry plugs. 
Plugs are available in 14 and 16-pin 1)11' 
configurations to lit all standard sockets 
and hole patterns. Pins are gold-plated 
phosphor bronze for performance and 
durability. Double-ended configuration 
available in 2". 4". and 8" lengths. Single- 
ended assemblies are offered in 1 2" and 24" 
sizes. Prices from S3. 75 - 4.35. 

In stock at your local electronics 
distributor or direct from O.K. Machine 
and Tool Corp.. 3455 Conner St.. Bronx. 
New York 10475.(212)994-6600. 




STRAIGHTEN PINS I PICK UP INSERT 



DIP/IC INSERTION TOOL 
WITH PIN STRAIGHTENER 

The OK INS-I4I6 DIP Insertion 1 ool 
inserts both I4and 16-pin IC packages into 
sockets or prcdrilled boards, with one- 
hand operation. Narrow profile permits 
tool to work on densely-spaced patterns. 
while insertion mechanism assures ac- 
curacy as well as excellent "feel." The tool 
includes a pin straightener built into the 
handle. Insert the IC. rock it on the 
straightening saddle, and push dovv n on the 
tool. An automatic ejector delivers the IC 
ready to be placed in the insertion end for 
installation in your board or socket. S3.49. 

O.K. Machine and Tool Corp.. 3455 
Conner Street. Bronx. NY 10475. 



STAR TREK 



STAR TREK IN COBOL 

Rick Jones has a COBOL version of Star 
Trek, to be run under IBM CICS on a 3270 
CRT, using special CICS maps "which 




REPLAY PORTABLE 
CALCULATOR 

A new portable calculator from Texas 
Instruments has an exclusive replay feature 
that allows numbers to be recalled on a 
display without having to print them out 
on tape. The TI-1680 permits the user to 
recall up to 20 entries, both number and 
function, from a memory stack to check 
accuracy and for editing and updating 
purposes. Each entry can be changed or 
altered without having to waste time re- 
entering an entire calculation. I he user sees 
exactly what's been entered: what effect 
changing part of a calculation has on the 
final result, and he is able to recall incorrect 
entries to make changes. $29.95. suggested 
retail. 

Texas Instruments Inc.. Inquirv 
Answering Service. Box 53 (Attn: II- 
1680). Lubbock. TX 79408. 



HP CALCULATOR WITH 
CONTINUOUS MEMORY 

I he new Hewlett Packard IIP-29C 
calculator features s»K fully merged 
program steps, lull editing functions and 
Continuous memory. Designed for use bv 
engineers, scientists, technicians, surveyors 
and students, the HP-29C oilers, at a 
keystroke programmable price, main ol 
the features usually found only in iullv 
programmable calculators, including three 
subrouting levels. 10 addressable labels 
and indirect addressing. Full) merged 
programming allows as man) as four 
keystrokes to be combined into a single 
step of memory. CMOS memory chips 
allow programs and data be- retained in 




memory for long periods alter the 
calculator has been turned off. with little 
battery use. In addition to its programming 
and editing functions, the HP-29C has all 
of the standard functions of HP advanced 
scientific calculators. S 1 95. 

A handheld printing version of the III*- 
29C. the IIP-I9C. will be available at $345. 

Inquiries Manager. Hewlett-Packard 
Co.. 1507 Page Mill Road. Palo Alto. CA 
94304 




HP CALCULATOR/WATCH 

A new instrument that resembles a 
digital watch, is smarter than many pocket 
calculators, and performs more than three 
dozen functions, was introduced bv 
Hewlett-Packard. The six-ounce HP-01 
has six interactive functions: time, alarm, 
timer stopwatch, date calendar, 
calculator and memory. Twenty-eight kevs 
(six finger-operated. '22 stylus-operated) 
enables the user to operate the HP-01. It 
also features 12 different display modes or 
indicators. The information is displayed 
with bright light-emitting-diodes. Price of 
the HP-01 is S650 lor the stainless-steel 
model and $750 with gold-filled case. 

Hewlett-Packard Co.. Inquiries 
Manager. 1501 Page Mill Road. Palo Alto 
CA 94304. 



Daring ideas are like chessmen moved 
forward; they may be beaten, but they 
may start a winning game — Goethe 



22 



CREATIVE COMPUTING 




\lli». . 



me" 



Since 1972 we've been a place where 
people and computers get together. 



Do you know anyone who wants to learn how computers 
work? Or how to program? Without masses of technical 
jargon? Then send them to People's Computers] We're a 
bimonthly magazine devoted to demystifying computers. 
Our pages aren't padded with ads-they're packed with 
articles, tutorials, interviews, listings, games, reviews 
and letters. People's Computers covers: 
Computerese - basic principles about how computers 

work; tutorials on how to program. 
Education - ready-to-use programs; tips on how to write 

computer-assisted educational materials; reports on 

educational uses of computers. 
Blue Sky - Tiny BASIC and Tiny PILOT were born in our 

pages; there's now talk of robots and . . . 
People & Computers - examination of the growing impact 

of computers on our lives and society. 
Fun & Fantasy - computer games; whimsical odds and 

ends; and our swashbuckling hero -FORTRAN Man! 



Some Comments about People's Computers: 

"One of the first, if not the first, of the people-oriented 
computer publications ... At $8 a year, it is a good 
bargain. You'll like it." Kilobaud 

"The editorial flavor is . . . intended to be readable and 
enjoyable for the neophyte. Our resident non-computer 
people at Byte grabbed the first issue so quickly that it 
became difficult to find a copy . . . Should be sampled 
to be believed." Byte 

"People's Computers has been plugging away for years as a 
force for good in the community". Personal Computing 

"For the novice as well as the experienced computer 
user ... an informal style, many useful annotations 
... a sounding board for novel ideas." Computer Notes 

"Here's a first rate magazine for people who want to know 
about minicomputers and microcomputers . . . Power- 
ful, low-cost technology is taking off - keep up with it 
by reading People 's Computers". Tlie Workbook 



people's computers 

Please start my one-year subscription (six issues) to People's Computers and bill me for just $8. 



NAME 

ADDRESS 

CITY /STATE 

Outside the U.S., add $4 for surface postage. Airmail rates on request. 



-ZIP. 



Unconditional Guarantee: If you ever wish to discontinue 
your subscription for any reason, we will refund the 
complete amount for the remainder of your subscription. 

D Visa Card Number 



D Mastercharge Expiration Date 



Send this form or a facsimile to: People's Computers, Dcpt 54, 1263 El Camino Real, Box E, Menlo Park CA 94025 



®® II li 111 I© M® Bllll 1] ffllll] 01 (P 1)1] 111] II HI] II II HI Hill] (111 



■ Programming Techniques: ! 
i File Structures (Part 2) 



John Lees 



HHniinnHnnHHiniffllllinilinilllllinnnHHnni 



Linked lists are one way to simplify the problems of 
maintaining a random-access file. At the cost of a little 
processing time and file space, linked lists allow you to do 
away with dependence on physical ordering of records 
and not worry about record placement when adding or 
deleting records. 

A linked list is a logically-ordered list stored in random 
physical order. The name, linked list, comes from the fact 
that the information needed to find the next logical record 
in the file is contained in the current record. This informa- 
tion is called a pointer. A linked list file record might look 
like this: 



POINTER 


AUTHOR 


TITLE 


and a file like this: 

s 




1?, 


HEINIEIN 


DATA 








3 


ASIMOV 


DATA 










1 


6UNN 


DATA 





The special first record simply contains the pointer 
(block number, sector number, or memory address in a 
practical implementation) to the first real record in the file. 
After getting that information, a program can access the 
file in logical order by following the pointers from record 
to record. By convention a "0" is used in the last record to 
indicate that it points to no other record. Oursample file is 
in alphabetical-by-author order and the pointer is a record 
number. 

Now this might seem to be rather cumbersome until you 
consider the process of adding or deleting a record. To 
add, for instance, BESTER to our file, we simply stick the 
new record on the end of the file or in a hole left by a 
deleted record, determine that the new record goes 
logically after ASIMOV. take the pointer from the ASIMOV 
record and put it in the BESTER record, point the ASIMOV 
record at the BESTER record, and we're done. No fuss, no 
muss, no ugly resorting and moving records around in the 
file. The file now looks like this: 



LU 






\JT 


HEINIEIN 


DATA 




4 


ASIMOV 


DATA 




1 


GUNN 


DATA 




LI 


BESTER 


DATA 



Deleting is even easier, especially with the double- 
linked list we'll discuss next. To delete a record you must 
change the pointer in the record pointing to the record you 
want to delete to point to the record pointed to by the 
deleted record. To phrase that another way, find the 
record pointing to the record you want to delete, replace 
the pointer in that record with the pointer in the deleted 
record, unlinking the deleted record. Again, no physical 
reordering of records is required. 

In most practical applications, deleted records are 
actually linked together to form a "file" of deleted records. 
Then when you want to add a record, you find space for it 
by taking a "record," now just a chunk of space, from the 
file of deleted records and using it for the new record, 
deleting it from the file of deleted records and adding it to 
the real file. If this method is used, a newly-created file is 
initialized so that all the file space is records on the deleted 
records file. Of course if records are not all of the same 
length, that won't work, and things get considerably more 
complicated, but we won't go into that here. 

Nothing says that a linked list record can have only one 
pointer and there are considerable advantages to devoting 
space to at least two pointers. A double-linked list has 
pointers in both directions so that the file can be searched 
either forward or backward. Being able to find both 
preceding and following record from the current record 
also greatly simplifies deletion. Double linking oursample 
file gives: 



2 


1 












o 


3 


HEINIEIN 


DATA 




4 





ASIMOV 


DATA 




1 


4 


GUNN 


DATA 




3 


2 


BESTER 


DATA 



24 



The second set of pointers point to the previous record 
and we've added to the special record a pointer to the last 
record in the file so that the file can be searched 
backwards. Adding a record to a double-linked list is much 
the same as to a single-linked list: you just have two sets of 
pointers to juggle. 

A double-linked list can be made a ring by pointing the 
last record at the first record and the first record at the last 
record. That way processing can literally go around in 
circles without ever having to start again at the beginning. 

A common use of the linked-list organization is to 
represent a tree structure in a file. Trees find great 
computer-science application in game stategy and in 
some types of data bases. With three pointers in a record, 
you can define a binary tree (a tree with two branches at 
each node) that can be traversed in either direction. An n- 
ary tree can be defined by adding more pointers 

CREATIVE COMPUTING 



To illustrate a simple binary tree file 
Binary Tree Record 




PREVIOUS NODE LEFT NODE RIGHT NODE DATA 



Tree Structured File 



I 2 [ [ ["DATA 




10 DATA 



To give some hint as to the possibilities of a data base 
built around the structure of a tree (usually called a 
hierarchical data base) consider the following diagram: 



Science 

Fiction f l Fantasy 




To stretch your mind even further, consider that it is 
possible to keep a linked list in more than one logical 
order. This is possible because the physical order of the 
records is totally irrelevant You can, by having a pointer 
associated with each key field, have a file of names and 
addresses linked in both alphabetical and zip-code order, 
for instance. This can be quite handy in some applications 
and is impossible with a physical sequential file. 

It is also possible, andquite usual, for a record in a 
linked-list data base to be on more than one list at a time. In 
the above example of a hierarchical data base, it is certain 
that some authors, and some books, would appear under 
more than one primary index level (Fantasy, Gothic, etc.). 
Why duplicate the records? Just attach the same record to 
different lists existing under different categories. This can 
become very complicated. The design of such data bases 
is not a task to be undertaken lightly. 

To sum up linked list files: they are best suited to 
applications that require very little straight sequential 
processing and a lot of add or delete processing. Linked 
lists also lend themselves well to representing non-linear 
file structures and are heavily used in data-base 
applications. ■ 



The Prices? Low! 

The Stock? On Hand! 

The Deadline For 

Orders? 




The Company? 
Computer Enterprises! 



Lear Siegler ADM-3A Kit 
IMS AI 8080 with 88 Slots Kit 
North Star Micro Disk 

System Kit 
Polymorphic VTI / 64 Kit 
Comp. Enterp. Extender 

Board with connector 
Comp. Enterp. Cable A 

for IMS AI 
Seals 8K 880ns BAM 

Assmbld. 
Vector Graphic 8K 480ns 

BAM Assmbld. 
Vector Graphic PROM/ 

BAM Kit 
George Bisk ASC II 

Keyboard Kit 
Netronic's ELF II KCA 

COSMAC Microcomputer - 

wired ft tested 



Credit 

Card Price 

$764 

$614 


Cash 
Price 
$738 
$890 


$623 
$162 


$800 
$178 


$ 13 


$ 18 


$ 14 


$ IS 


$238 


$880 


$234 


$888 


$ 83 


$ 80 


$ 52 


$ 80 



$146 $140 



ORDER NOW FOR THESE 
EXCITING NEW PRODUCTS! 



North Star Horizon 1 
Computer System 

North Star Horizon 8 
Computer System 

IMSAI VIO-B Kit 

IMSAI VIO-C Kit 



$1497 $1439 

$1871 $1799 

$ 234 $ 888 

$ 297 $ 886 



Ask For Your FREE Computer 
Enterprises Catalog Today! 

Shipping charges 1 10 par CPU on larger units, 1 1 SO per kit (2 00 mm 
per order 

Delivery is stock to 30 days on most items Shipment is immediate for 
payment by cashier s check, money order or charge card Allow 3 weeks 
for personal checks to clear N Y State residents add approp sales 
tax Availability, prloss and specs may change without notice 

Operating Hours: 

MW 10-5 EST. 

Th-F 10-9 EST 
Closed Sat * Sun 



Write or Call 



COtTlOUtCtf 

enterprise/ 

P.O. Box 71 
Fayetteville, N.Y. 13066 

Phone (31S) 637-6208 Today! 



JAN FEB 1978 



25 



SFS Walletsize 
Space-Shuttle 

Simulator 



The SFS Walletsize, shown for the 
first time at Personal Computing 77 in 
Atlantic City, is a space-shuttle 
simulator, designed and constructed 
by a Philadelphia company with the 
appropriate name of 2005AD, Inc. The 
cabin itself, made of wood and metal, 
stands only five feet tall and is about 
four feet square, but the illusion is one 
of the grandest yet seen at personal 
computer trade shows. 

As you sit down in the Pilot's seat, 
you roll yourself forward and become 
totally involved in the dynamics of the 




At computer shows, the staff of 2005AD wears 
futuristic spacepeople costumes. 

cabin. Overhead, lignting panels from 
the Apollo program wink on and off, 
while to your left and right aircraft 
instruments display more information 
than you can mentally process. The 
major focus of the display is the three 
TV screens (one a 25-inch high resolu- 
tion monitor) that display three 
different types of computer-generated 
video. 

The Walletsize is flown using a 
joystick, three slide controls and 
numerous switches, and the name of 
the game is simulated space flight. For 
the novice, one program will allow 
you to try landing your craft on a lunar 
platform. The center screen displays 
horizontal and vertical motion, the left 
screen displays a side view of the 
platform and the right screen displays 
an overhead view of the platform. This 
is probably the first time that a three- 
dimensional simulation of lunar lander 
has been played using a 
microprocessor. Miss the landing plat- 
form and the screen displays caustic 



comments on the depth of the crater 
produced, the cost of the LEM just 
destroyed and the amount of blood and 
gore produced. 

If flying it yourself is not enough to 
satisfy your appetite for space travel, 
the 2005AD personnel will 
demonstrate a more complex three- 
dimensional docking program, in- 
volving not only roll, pitch and yaw, but 
also X, Y and Z coordinates. Approach 
is controlled by thrusters and retro 
engines, and the entire simulation is 
scored on accuracy, timing and fuel 
consumption. 

The Walletsize is programmed to 
reflect the realities of flight physics, 
and as such is a great learning device. 
The craft is not limited to one type of 
simulation, it can easily be 
reprogrammed in BASIC to simulate 
various types of air and space craft. 
The simulation is written in 
PolyMorphic Systems BASIC Version 
A00. Within this program are calls to 
machine-language subroutines and 



PEEK and POKE statements to control 
the interrupt structure and I/O devices. 

Peripheral chips and cards on the 
bus include a UART (TTY I/O), four 
ACIA (terminal and printer I/O), four 
CTC programmable counter/timers, 
one US ART (tape I/O) one PI A (16-bit 
parallel I/O with handshake), sixteen 
8212 (128-bit parallel I/O) and three 
PolyMorphic video cards. 

40K of memory is available on 4K 
cards from various manufacturers. 
Some I/O cards were purchased and 
heavily modified; others were built 
from scratch using a Vector wire 
pencil. Timekeeping within the simula- 
tion is provided by a crystal-controlled 
hardware time-of-day clock as well as 
the real-time clock function of the 
PolyMorphic System Basic. Analog 
and audio output functions are per- 
formed by the Zilog CTC chips and by 
interface circuits designed by 2005AD. 
Switches and lights are interfaced 
through parallel ports and custom- 
designed circuits. All cards are con- 
nected to the S-100 bus in a modified 
IMSAI chassis. The CPU is a modified 
Z-80 card running at 2 MHz. 

For those who feel they have the 
computer expertise to duplicate the 
workings of the ship, 2005AD will give a 
start on the construction project by 
supplying a 10-page set of blueprints 
for the cabin woodwork at $15 per set. 
This cost includes a free listing of the 
program that was running in the 
simulator during its recent trip to 
Personal Computing 77. 2005AD Inc. 
is at 2005 Naudain St., Philadelphia, 
PA 19146. ■ 



> SFS URLLETSIZE 




Many of the controls and lights in the SFS Walletsize are for effect only, but the three video screens are for 
real; they display Lunar Lander in three-dimensional simulation. 



26 



CREATIVE COMPUTING 



Profile of Three Smart Electronic Games... 



Auto Race 



In all three games, it's them against you, they 
know where you are, and they're out to get you. 




Missile Attack 



Football 



Stephen B. Gray 



With Milton Bradley's Comp IV 
(reviewed in the previous issue) you 
can take your time guessing the 
random number generated by the 
microcomputer inside the case. But 
with these three games from Mattel, 
they — the cars, the missiles, or the 
opposing team — are coming at you at 
full tilt, and you'd better pay full 
attention, right here and now. There's 
no time to fool around; you've got to act 
immediately. So if you're easily 
frustrated, or unable to deal with fast- 
moving real-time games, stay away 
from this trio, because these three little 
hand-held games soon separate the 
men from the boys, and the boys from 
the children. 

Description 

All three of these Mattel games are 
about the size of a hand-held 
calculator, 1x3x5 inches, weigh only a 
few ounces each, and use a nine-volt 
battery; each has a jack for an AC 
adapter. 

Auto Race and Missile Attack are 
similar in that both use the Rockwell 
B6000 calculator chip, with some of the 
input/output lines modified. Both use a 
vertical "LED stick" display with three 
rows of seven vertical segments each, 
topped by a two-digit segmented 
numerical display. A three-position 
slide switch at bottom right determines 
in which lane you drive (Steering 
Control), or from which of three sites 
you launch your anti-missile missiles 
(Guidance Control). Auto Race has a 
Start/Reset switch; in Missile Attack it's 
called Arm/Off. The third control is 
quite different: in Auto Race it's a slide 
switch with four Gear positions, 1 
through 4, which determine how fast 
the cars move; in Missile Attack, it's the 
Fire button, which launches your 
rockets skyward. 

JAN/FEB 1978 



Football has more complex rules and 
a much more sophisticated display, so 
it requires the Rockwell B6100 chip, 
which has more ROM and more I/O. 
The playing field is a horizontal LED 
stick, with three rows of nine horizontal 
segments each. Pressing the ST key 
lights the Status display, showing 
down (1 through 4), field position 
(where the ball is, plus a symbol that 
shows which side of the 50-yard line 
the ball is on), and yards to go. 
Pressing the SC or Score key shows 
the home-team score, timing remain- 
ing in the quarter, and the visitor score. 
Either the ST or SC key resets the field 
for the next play, which involves a 
running back making his way down the 
field against five defensive tacklers. 
The up-arrow and down-arrow keys 
move the running back to his own left 
or right; the left-and-right arrows 
moves the running back toward the 
opposite goal, the direction depending 
on whether he's on the home team or 
visitor team. The K or Kick key may be 




used only on 4th down, and will kick 
between 1 and 65 yards; the computer 
decides whether to punt or to make a 
field goal. The last control is a three- 
position switch, for off, PRO 1 or PRO 
2. In PRO 2 mode, the defense is 
programmed to react 50 percent faster 
than PRO 1. 

Basic Operation 

Auto Race is simple, just "race your 
car up the track avoiding collisions 
with oncoming cars." (Sounds more 
like a Demolition Derby than an auto 
race.) You have to set the gear switch in 
first before the game will start. Your car 
is the bright blip that starts at the 
bottom of the track and moves up. The 
"collision cars" (dimmer blips) start at 
the top and move toward you, one or 
two at a time, but never three at a time, 
fortunately. You move the steering 
control left or right to avoid a collision. 
If one of the collision cars hits you, it 
pushes you back toward the starting 
time, and you lose time on the "Lap- 
Time Readout." After you finish a lap, 
your car is automatically returned to 
the starting line, ready for the next lap. 
In higher gear, the cars move faster, 
and you've got to react faster. At the 
end of four laps, the timer stops, you 
read out your time, and compare it with 
your previous best time, or with your 
opponent's. 

Missile Attack is played almost the 
same way, with several important 
differences. The enemy missiles come 
in, from the top, at only one speed, and 
they can change direction. If only one 
of the 20 attacking missiles hits your 
city, at bottom center of the display, 
you lose and the game's over. You can 
protect your city by always launching 
your anti-missile missiles from the 
center position, but this will give you a 
minimum score. The game's object is 



"to intercept as many of the 20 at- 
tacking missiles per game as high in 
the sky as possible." If you hit an 
attacker in the 6-mile zone (top of the 
screen), you score 6 points; a hit in the 
5-mile zone and get 5 points, etc. 

Football is meant for two players, 
although a child too young to under- 
stand the rules of the game could play it 
all by himself on the basis that he must 
shift back and forth, waiting for an 
open path down the field, and, because 
the display field is only 9 yards long, if 
he has to go 45 yards for a touchdown, 
he must run the whole length of the 
field five times to score. If he makes it to 
the end of the field in a single run, the 
computer automatically returns him to 
the start so that he may continue 
running. However, the opposing 
players can move from side to side as 
well as forward or backward, and as the 
running back scoots down the 
sidelines, he may be tackled from the 
front, the side, or from behind. The 
player who made the tackle will blink 
on and off, to show his position. 
Automatic scoring provides 7 points 
for a touchdown, 3 for a field goal. Just 
as in real football, by the way, you get 
four downs to go 10 yards. 

Sound Effects 

All three of these games contain 
what the schematics refer to as a 
"piezo-ceramic speaker," and which 
Gulton, the original manufacturer of 
the audio-sound source used in these 
games calls a "ceramic audio tone 
transducer." A thin disk of piezo- 
ceramic material, which changes 
its diameter when an electrical signal is 
applied across its surface, is bonded to 
a thin metal disk about an inch in 
diameter; total thickness is about half a 
millimeter. The metal disk acts as a 
restraining spring force on one surface 
of the ceramic, so that when the 
diameter of the piezoceramic disk 
changes, the bonded assembly will 
bend from a flat shape into a convex or 
concave shape, depending on the 
polarity of the signal. If the applied 
signal has a frequency of 2 kHz, the 
metal disk will vibrate and produce 
sound at a 2-kHz frequency. 

Gulton recommends the CATT as an 
economical, low-profile sound source 
for applications such as electronic 
games, smoke detectors, appliance 
timers, alarm clocks and wristwatches, 
intrusion alarms, keyboard signalers, 
industrial controls, and personalized 
radio "beepers." Similar transducers 
are used in sonar devices and ul- 
trasonic cleaners. 

The audio-tone transducer operates 
at frequencies of 400 or 500 Hz up to 
about 4500 Hz. In Auto Race, the 
simulated engine sound increases in 
frequency and volume as speed in- 
creases (as you move from first to 




Auto Race 

second to third to fourth gear). When 
an oncoming car hits yours, a "bleep" is 
heard; if you complete the four laps in 
99 seconds or less, a yodeling "bloop- 
bleep-bloop-bleep" is emitted; and if 
you can't make the four in 99 seconds, 
the "sound of defeat" is a short, low 
tone. 

As the missiles in Missile Attack head 
toward "Your City," a V-2 type of buzz 
is heard; when you launch your anti- 
missile missile, you hear a bleep, and if 
you intercept the missile, the sound is a 
flat "blaah." If you successfully defend 
Your City against the 20 missiles, the 
final sound is an upward-spiralling All 
Clear; if an enemy missile hits Your 
City, the game is over, and you hear, 
loud and clear, the first three notes of 
"Taps".... 

The basic sound in Football is a 
ticking clock. When the running back is 
clobbered, the "referee's whistle" 
sounds, like a short high chirp. After 
you press the Kick key, and if the 
computer decides to punt, two "whis- 
tle" sounds are heard; if it kicks a field 
goal (which is seldom), you hear a 
"charge" sound, something like an 
octave arpeggio in a minor key. 

The tone produced by the "piezo- 
ceramic speaker" is sufficiently loud 
and clear that it could easily be used in 
some sort of inexpensive electronic 
musical instrument. Research may 




already be underway in this area, but 
toy companies keep future plans as 
secret as the military. 

Toy Time 

None of the three Mattel toys runs in 
real time. After all, a real football game 
has four 15-minute quarters, and that's 
only for the time the ball is actually in 
play. To keep Football down to a 
realistic playing time, the four quarters 
take up only 10 minutes of "ball"-in- 
play time. 

An Auto Race minute is actually 50 
seconds long, so the maximum "99 
seconds" is actually only 82 seconds, 
although the time seems a lot longer if 
you're sweating out a tough race. 

Missile Attack can last from 2 
seconds (if the first missile is aimed 
directly at your city and you don't shoot 
it down) to about 40 seconds (if you 
shoot down all of the missiles aimed at 
your city). 

Observations 

If there's any doubt in your mind that 
the microcomputer actually keeps 
track of where you are, turn on Auto 
Race and stay in one lane. No matter 
which lane you pick, every one of the 
oncoming cars will aim directly for you. 
Rather disconcerting, what? And in 
Football, as you shift left and right, the 
defense will move in the same direc- 
tion. The 20 incoming missiles in 
Missile Attack seem to take the same 
tracks each time, but — and this may 
be only my imagination — if you count 
on it, there will be a slight change or 
two, just enough to cause, for instance, 
two missiles to take entirely new 
directions, one in a straight line, the 
other, following directly after, will 
swerve at the last minute and drop right 
onto your city. So although the higher 
in the "sky" you intercept an incoming 
missile, the more points you earn, if 
you try too soon to shoot down a 
missile that changes directions, you'll 
waste a shot and endanger your city. 
Because if you miss, the computer 
causes a delay in arming a new anti- 
missile missile. Tricky. 

One thing the microcomputer in 
Auto Race does not do is to make the 
opposition tougher as you get near the 
end of the lap (top of the LED stick). It 
just seems that way, because you have 
less reaction time as the distance 
between your car and the newly- 
appearing collision cars shortens. At 
each gear-speed, there's a minimum 
time you can do the four laps in, 
assuming no collisions. There's a slight 
spread in this minimum time, because 
some time seems to be lost in shifting 
lanes. For instance, running only in 
first gear, my best time ran between 87 
and 91 "seconds"; in second, 56 to 60; 
in third, 36 to 38. As for fourth gear, I've 
never been able to make the four laps in 

CREATIVE COMPUTING 



fourth without hitting several on- 
coming cars, so I don't know what the 
minimum time in high gear is. 

The best strategy for Auto Race 
might be to take most of the lap in 
fourth, and then as you get near the end 
of the lap, switch to third, so as to have 
more reaction time. The catch is that 
shifting the gears may be just enough 
of a distraction to let your car get hit, 
and only a few hits will shove it right 
back to the starting line. All three 
games require total concentration; you 
can't look away for a second, or let your 
mind wander. 

Auto Race has a chart that rates your 
time for four laps as "Under 30 seconds 
— World Champion Drive" down 
through "45-55 seconds — Showing 
Potential" to "75 or more seconds — 
Leave Car in Garage." 

The two players of Football have a 
scoreboard to show who's winning. 

Missile Attack rates under 25 as "U 
BLEW IT!", 25-50 as "THAT'S BET- 
TER,", 50-75 as "GOOD" and 75 and 
over as "EXPERT MARKSMAN!" Ac- 
cording to the manual, it's possible to 
score over 100 points, which then 
produces a special character in the first 
digit of the readout to show this special 
scoring condition. However, the best 
I've been able to do is 50. because at 
least a third of the 20 missiles shift their 
trajectories in flight, which makes 
shooting them down quite tricky. 

Incidentally, when the battery 
weakens, the games just don't stop 
functioning. All three game manuals 
carry a similar notice; as Auto Race 
puts it: "If the blips of light representing 
cars or the Digital Timer appear to be 
malfunctioning, this is the first sign of 
battery wear. A fresh battery should 
solve the problem." 

To prevent owners from opening a 
game and toying with the insides. 
special case screws are used: they can 
be removed only with a triangular-head 
screwdriver. 

The Bottom Line 

Auto Race and Missile Attack are 
priced between $20 and $25: Football 
runs from $30 to $35. If competing 
companies develop similar 
microprocessor-based toys, these 
prices could go down, but the trend, at 
least as of this writing, seems to be to 
develop more complex games. There 
are now at least two that play backgam- 
mon, and one that plays bridge. As for 
what new smart electronic games are 
going to be available by the end of the 
year, just anything a microprocessor 
chip can do, and enough people might 
buy, is probably on the drafting boards 
right now. 

In the next issue, we'll take a look at 
the Parker Brothers nautical game, 
Code Name: Sector, which pits sub- 
marines against destroyers. ■ 

JAN/FEB 1978 



Introducing 
Bit Pad. 



The new, 

low-cost digitizer for 

small computer systems. 

Bit Pad is the newest product from Summagraphics. the leading 
producer of professional digitizers 1 1 has a small 1 1-inch active area and 
a small $555 price tag But the list of applications is as big as your 
imagination 

Better than a joystick or keyboard for entering graphic information, 
it converts any point on a page, any vector, any distance into its digital 
equivalents It's also a menu for data entry You assign a value, or an 
instruction to any location on the pad At the touch of a stylus, it's 
entered into your system. 

Who can use it? Anyone from the educator and the engineer to the 
hobbyist and the computer games enthusiast The data structure is 
byte oriented for easy compatibility with small computers, so you can 
add a power supply, stand-alone display, cross-hair cursor and many 
other options. 

$1,000.00 creativity prize. You can also add $1,000.00 to your 
bank account as a reward for your inventiveness. Just write an article 
on an original Bit Pad application and submit it to any national 
small-computer periodical. If the editors publish it and the decision 
is solely theirs - Summagraphics will pay you $1,000.00 Contact 
Summagraphics for rules concerning this offer 




--++-T+- 



^ ' corporation 

35 Brentwood Ave . Box 781. Fairfield. CT 06430 
Phone(203) 384-1344 TELEX 96-4348 



29 




Continuity markers and stimulus spacers. 







30 



Necessity rings (center) and the eye (bottom). 

CREATIVE COMPUTING 



BLUE WAZOO 

THE BEAD OF CONSCIOUSNESS 
SUSPENDS CONTINUITY MARKING* 
SPACED STIMULI. 
BUDDAH- NATURE WAVERS TWITCH* 
THE DREAM BAG FILLS. 
POSSIBILITY TENDRILS 
AND NECESSITY RINGS 
POP UP. 

BEAD DESCENDS. 



The Blue Wazoo is primarily a welded steel structure 
covered with several coats of acrylic lacquer. The 
structure contains plastic shapes, ciruitry, wires, light- 
emitting diodes, solenoids, a motor, cloth, horsehair, a 
feather and a bead. The Blue Wazoo senses light and 
sound and responds with a behavioral repertoire of 
various LED patterns, movements, inflations, deflations, 
whirrs, clicks and jiggles. It is six feet high and weighs 
about 25 pounds. 

Ambient light falling on the photocell (in the small 
velcro-mounted "gun" at the front of the body) increases 
the clock frequency (average: 2 hertz) , of the 1 6 bit serial- 
in serial-out shift register. Data for the shift is generated by 
a microphone (at the front base of the neck). An 8-bit 
binary counter counts the output of the shift. Four nand 
gates are made conditional on data from various outputs 
of the shift and counters. Each nand gate controls an 
activity of the Blue Wazoo. 

Visitors sense that the Blue Wazoo is reacting to 
something they are doing but they don't know exactly 
what. This often leads to superstitious behavior on their 
part. The artist is particularly interested in this cybernetic 
aspect of the work and feels that the dynamic interaction 
between viewer and artwork is one of the more exciting 
potentials in the use of the new technology in art. 

The internal workings of a circuit and the resultant 
activities take on symbolic content as indicated by the 
individual names given to various parts of the sculpture. 

The Blue Wazoo was made by Jim Pallas in 1975-76 and 
is in the collection of the Allan Stone Gallery, NYC. 




bud ol 

contciouinm 



This article is appearing simultaneously in Page, the publication of The 
Computer Arts Society. 

The artist. Jim Pallas is co-ordinator of the Detroit Art Works (they have a 
really fabulous T-Shirt with one of Jim's works on the front and Detroit Art 
Works emblem on the back Black shirt, adult sizes $7 00 postpaid Well 
worth it — DHA). Jim is also on the faculty of Macomb County Community 
College. He can be reached at 131 1 Bishop. Grosse Point Park. Michigan 
48230. ■ 




BLOCK DIAGRAM OF 
BLUE WAZOO'S LOGIC 



BUODA - NATURE 
WAVERS 



HEAD TILTER 



POSSIBILITY TENDRILS OMAM SAG 

4 NECCCSSITV RINGS 



JAN/FEB 1978 



31 




TO BE CONTINOet). 



.omputer Professionals' Book Club i Computer Professionals' Book Club 



MEMBERSHIP ORDER CARD 



lase enroll me as a member and send me the two books indicated 

"hi to receive the bonus book at the introductory price ot $1 89 plus 

first selection at the discounted price tor members, plus tax post- 

i. and handling. It not completely satisfied, I may return the 'books 

iin 10 days and request that my membership be cancelled. If I keep 

books, I agree to take a minimum of three additional books of my 

In choosing during the next two years. I will receive the Club Bulletin 

■times a year. If I want to examine the featured selection I need take 

1 action. It will be shipped automatically. If, however I want an 

srnate selection-or no book at all — I simply notify the Club by re- 

ning the convenient card always enclosed. I will always have a 

himum of 10 days in which to return the card, and you will credit my 

fcount fully, including postage, if this is not the case. Membership in 

» Club is continuous but cancellable by me at any time after the four- 

3k purchase requirement has been filled. This order subject to ac- 

otance by McGraw-Hill. Orders from outside the continental US must 

[prepaid. All prices subject to change without notice. Company busi- 

fcs, or institutional tax exemption status Is not applicable to purchases 

tde through individual Club memberships. Otter good lor new mem- 

js only. 

JDICATE BY NUMBER THE TWO BOOKS YOU WANT 



Write Code No. 
of Bonus Book Her* 



Write Code No. 
of First Selection Here 



KND NO MONEY. SIMPLY MAIL THIS CARD TODAY AND WE WILL BILL YOU 



street Address 
bity 






TRA SAVINGS: Remit in full with your order, plus any local and state 
k, and McGraw-Hill will pay all postage and handling charges. 



CREATIVE COMPUTING 1978 



P39276 



MEMBERSHIP ORDER CARD 



Please enroll me as a member and send me the two books indicated 
I am to receive the bonus book at the introductory price of $1 89 plus 
my first selection at the discounted price for members plus tax post- 
a 9?u . ■",£ handlin 3. If not completely satisfied, I may return the 'books 
within 10 days and request that my membership be cancelled. If I keep 
the books, I agree to take a minimum of three additional books of my 
own choosing during the next two years. I will receive the Club Bulletin 
13 times a year. If I want to examine the featured selection, I need take 
no action. It will be shipped automatically. If, however I want an 
alternate selection-or no book at all — I simply notify the Club by re- 
turning the convenient card always enclosed. I will always have a 
minimum of 10 days in which to return the card, and you will credit my 
account fully, including postage, if this is not the case. Membership in 
the Club is continuous but cancellable by me at any time after the four- 
book purchase requirement has been filled. This order subiect to ac- 
ceptance by McGraw-Hill. Orders from outside the continental US must 
be prepaid. All prices subiect to change without notice. Company busi- 
"f"'°/J ns ' l '}''! '' al .l a * exemption status is not applicable to purchases 
made through individual Club memberships. Oiler good lor new mem- 
bers only. 

INDICATE BY NUMBER THE TWO BOOKS YOU WANT 



Write Code No. 
of Bonus Book Here 



Write Code No. 
of First Selection Here 



SEND NO MONEY. SIMPLY MAIL THIS CARD TODAY AND WE WILL BILL YOU 



Name 

Street Address 

City 

State 






f^ T =nH S M^ NGS: u R 1 ? mi - , „ in ,U " wi,n your ordor ' P |us anv '<><:<" and state 
tax, and McGraw-Hill will pay all postage and handling charges. 

CREATIVE COMPUTING 1978 P39275 







■o 


z CD 






•a 


z 00 




° c 








° c 




■o (0 






S 
n 
• 


3 eo 


• 
■ 


1 =' 

1 8 






■ 


■S °> 


I "o ob e*» = 


• 0> 






T Tl BO S 


" 0) 




2 -« 






<a O o S 


S 33 


1 CD 






5 ' ^ -5 


3 <B 


u) no c-3 = » 


T3 T> 






•aid by 

uter Profess 
Club 

3ox 582 
istown, New 


n — ' 

3 


Id by 

ter Profession 
lub 

ox582 
town, New Je 


5"< 

s 1 

3 

i 






<- 5" 


K 


• 






mis' 

ersey 085 


■ 

I 


1 * 


• 
■ 

5" 






5" 
1 


1 


I 

c 








c 


O 


3 
























■ 








I 




ft 








a. 




B 








en 




■ 




















■ 




3 
















i •» T 


















FIRST CLA 
PERMIT NO 
HIghtstown, 








IRST CLAS 
ERMIT NO. i 
ghtttown, N 












F V « 

«_ ft CO 








c. S w 



























EDP books you can'taf i bid to 
be without 



MICROPROCESSOR APPLICATIONS 
MANUAL 

by Motorola, Inc. 

435/278 Pub. Pr., $28.50 Club Pr., S22.50 

HANDBOOK OF CIRCUIT ANALYSIS 
LANGUAGES AND TECHNIQUES 

by R. Jensen and L. McNamee 

769/656 Pub. Pr.. $34.50 Club Pr.. $28.50 

INTERACTIVE COMPUTER GRAPHICS 

by B. S. Walker, G. R. Grund and 

E. A. Drawneck 

767/661 Pub. Pr., $14.50 Club Pr.. $12.30 

THE THINKING COMPUTER 
Mind Inside Matter 

by B Raphael 

769/893 Pub. Pr.. $12.95 Club Pr.. $10.25 

MASTER TRANSISTOR SUBSTITUTION 
HANDBOOK 

by The Tab Editorial Staff 

770/921 Pub. Pr.. $11.95 Club Pr.. $9.95 

ALGORITHMS + DATA STRUCTURES = 
PROGRAMS 

by N. Wirth 

769/664 Pub. Pr., $18.00 Club Pr.. $13.75 

BASICS OF DATA COMMUNICATIONS 

Edited by H. R. Karp 

191/59X Pub. Pr.. $19.50 Club Pr.. $15.95 

BUILD YOUR OWN WORKING ROBOT 

by D. Heiserman 

769/311 Pub. Pr.. $8.95 Club Pr., $7.60 

MICRCOMPUTERS/MICROPROCESSORS 
Hardware, Software and Applications 
by J. L Hilburn and P. N. Julich 
771/499 Pub. Pr.. $18.50 Club Pr.. $14.75 

SCIENTIFIC ANALYSIS ON THE 
POCKET CALCULATOR 

by J. M. Smith 

772/533 Pub. Pr.. $13.75 Club Pr.. $10.95 

ELECTRONIC MUSIC CIRCUIT GUIDEBOOK 

by B. Ward 

788/234 Pub. Pr., $9.95 Club Pr., $8.45 

A DISCIPLINE OF PROGRAMMING 

by E. W. Dijkstra 

770/115 Pub. Pr., $17.50 Club Pr.. $14.50 

GETTING INVOLVED WITH YOUR OWN 

COMPUTER 

A Guide for Beginners 

by L. Solomon and S. Veit 

771/952 Pub. Pr., $9.95 Club Pr., $8.35 

AUTOMATIC DATA PROCESSING HANDBOOK 

Edited by The Oiebold Group, Inc. 
168/075 Pub. Pr., $33.50 Club Pr., $23.75 

APPLYING MICROPROCESSORS 

New Hardware, Software, and Applications 

Edited by L. Altman and S. E. Scrupski 
191/603 Pub. Pr.. $15.00 Club Pr., $12.50 

COMPUTER ARCHITECTURE, 2/e 

by C. C. Foster 

770/794 Pub. Pr., $16.95 Club Pr.. $12.95 




any one 

of these great 

professional books 

for $«el89 

only 

values up to 
$34.50 



Introductory offer to new members of the 

Computer Professionals' Book Club 

Special $1.89 bonus book comes to you with your first club selection 

THIS new professional club is designed to meet your day-to-day on-the-job needs by 
providing practical books in your field on a regular basis at below publisher prices. If 
you're missing out on important technical literature* — if today's high cost of reading curbs 
the growth of your library — here's the solution to your problem. 

The Computer Professionals' Book Club was organized for you, to provide an economical 
reading program that cannot fail to be of value. Administered by the McGraw-Hill Book 
Company, all books are chosen by qualified editors and consultants. Their understanding 
of the standards and values of the literature in your field guarantees the appropriateness 
of the selections. 

How the Club operates: Every month you receive free of charge The Computer Profes- 
sionals' Book Club Bulletin. This announces and describes the Club's featured book of the 
month as well as alternate selections available at special members' prices. If you want to 
examine the Club's feature of the month, you do nothing. If you prefer one of the alternate 
selections — or if you want no book at all — you notify the club by returning the card en- 
closed with each Bulletin. 

As a Club Member, you agree only to the purchase of four books (including your first 
selection) over a two-year period. Considering the many books published annually, there 
will surely be at least four you would want to own anyway. By joining the club, you 
save both money and the trouble of searching for the best books. 




VALUES UP TO $34.50 WITH MAJOR DISCOUNTS ON ALL OTHER CLUB SE- 
LECTIONS. Your bonus books come with the first selection, and you may choose both 
of them from the books described in this special introductory offer. 

EXTRA SAVINGS: Remit in full with your order, plus any local and state tax, and 
McGraw-Hill will pay all regular postage and handling charges. 

NO RISK GUARANTEE: 

If not completely satisfied return selections for full refund and membership cancellation. 



MAIL THIS COUPON TODAY 



COMPUTER PROFESSIONALS/Book Club P 0. Box 582 Princeton Road, Hightstown. New Jersey 08520 



Please enroll me as ■ member and tend me (he two books 
indicated I am to receive the bonus book at the intro- 
ductory price of S1.S9 plus my first selection, plus tax. 
postage, and handling II not completely satisfied, I may 
return the books within to days and request that my member- 
ship be cancelled. If I keep the books. I agree to take a 
minimum of three additional books during the next two year* 
at special Club prices (guaranteed 15% discount, often 
more). I will receive the Club Bulletin 13 times a year If 
I want to examine the featured selection, I need take no 
action. It will be shipped automatically. If. however, I want 
an alternate selection— or no book at all— I simply notify the 
Club by returntng the convenient card always enclosed I 
will always have a minimum of 10 days in which to return 
the card and you will credit my account fully, including 
postage, if this is not the case. Membership in the club is 
continuous but cancellable by me at any time after the four- 
book purchase requirement has been filled This order 
subject fo acceptance by UcQraw-HIII. Orders from outside 
the continent*! U.S. mutt be prepaid Company, bus/nets, or 



institution*! ten exemption status it not eppttable fo pur. 
chases mad* through individual Club memberships. All prices 
subject to change without notice. Oiler good for new mem- 
bers only 



] : 



P 39274 



Five Who Most Disturbed 
The Thought of Man 




COPERNICUS. 1473-1543, 

who deprived man of his earth-centered universe. 
References: 
Kuhn, Thomas S., The Copernican Revolution, 
New York, R. R. Bowker Company. 

DARWIN, 1809-1882, 

who deprived man of his status as a special 
creation. 

References: 
Darwin, Charles: Evolution and Natural 
Selection, Loewenberg, Bert James 
(Editor), New York, R. R. Bowker 
Company. 

Darwin, Charles - Autobiography and 
Selected Letters, (Edited by Francis 
Darwin), New York, Dover Publications, 
Inc. 

Hofstadter, Richard, Social Darwinism in 
American Thought, Boston, Mass., The 
Beacon Press, Inc. 

FREUD, 1856-1939, 

who deprived man of belief in rational 
self-determination. 

References: 
Freud, Sigmund, Delusion and Dream, Boston, 
Mass., The Beacon Press, Inc. 

Freud, An Autobiographyical Study 
(Translation by James Strachey) (2nd ed.) 
London, England, The Hogarth Press 
1 946. 

Jones, Ernest, The Life and Work of Sigmund 
Freud, New York, Basic Books, Inc. 



34 



EINSTEIN, 1879-1955, 

who deprived man of confidence in his own 
observations of the physical world and forced him 
to understanding, as distinguished from proof only, 
of phenomena. 

References: 
Barnett, Lincoln, The Universe and Dr. 
Einstein, New York, R. R. Bowker 
Company. 

Coleman, James A., Relativity for the Layman, 
New York, The New American Library, 
Signet, P2049, 4th printing, January 1962. 

Lovell, A. C. B., The Individual and the 
Universe, New York, R. R. Bowker 
Company. 

Gamow, George, Biography of Physics, New 
York, Harper and Brothers, 1961. 

Rogers, Eric M., Physics for the Inquiring 
Mind, Princeton, NJ, 1960, Princeton 
University Press. 

COMPUTER, 1948? 

who deprived man of his unique position as an 
intelligent manipulator of his environment and 
creative solver of complex problems. 

References: 

Feigenbaum, Edward A. and Feldman, Julian 
(Eds.), Computers and Thought, New 
York, 1963, McGraw-Hill. 

Rothman, Stanley and Mosmann, Charles, 
Computers and Society, Chicago, 1972', 
Science Research Associates. 

Spencer, Donald D., Computers in Society, 
Rochelle Park, NJ. 1974, Hayden Book 
Co. 

Brown, Les and Marks, Sema, Electric Media, 
New York, 1974, Harcourt Brace 
Jovanovich. 

Nelson, Theodor H., Computer Lib/Dream 
Machines, Chicago, 1974, Hugo's Book 
Service. 

Wessel, Milton, Freedom's Edge: The 
Computer Threat to Society, 1974, 
Addison-Wesley. 

Weizenbaum, Joseph, Computer Power 
and Human Reason, 1976, W.H. 
Freeman. ■ 

CREATIVE COMPUTING 



Creative Computing Equipment Profile. . . 



Radio Shack TRS-80 



IStephen B. Grayl 



You open the large box and take out 
three smaller boxes. The first contains 
a 12-inch video display monitor; the 
second . a combination of ASCII 
keyboard, CPU, memory and cassette 
interface, all in one molded case, plus a 
separate AC power supply; the third 
contains a standard Radio Shack CTR- 
41 portable cassette recorder. Also 
included are several cables and two 
cassettes, one blank, the other con- 
taining two games: blackjack and 
backgammon. 

Setup is simple. Three 5-pin DIN 
connectors plug into the keyboard 
case: one from the monitor, another 
from the power supply, the third from 
the cassette recorder (needed only if 
you plan to record programs or load 
taped programs into the TRS-80). 
Three small plugs connect to the CTR- 
41: into the EAR, AUX, and REMOTE 
jacks. (A dummy plug in the MIC jack 
disconnects the built-in microphone to 
prevent picking up ambient sounds 
while you load tapes.) Plug in the 
power cord and you're ready to go. 
Incidentally, although the three DIN 
plugs are identical at the metal end, the 
plastic handles are all differently 
shaped, and the keyboard case is 
stamped TAPE, VIDEO, and POWER. 
But even if you plug one of these 
connectors into the wrong jack, you 
won't blow out anything; the designers 
have made the TRS-80 as idiot-proof as 
possible. If you'll be plugging and 
unplugging your TRS-80 frequently, 
you may want to label the three 
keyboard-case plugs, as well as the 
three cassette-recorder plugs, for 
faster setup time. 

Turning On 

Turn on the monitor by pressing the 
red Power button. Turn on the key- 
board by pressing the small ON button 
at the back of the case. A red LED near 
the lower right end of the keyboard will 
light up to remind you that the com- 
puter is on. The monitor displays 

READY 

>_ 

The READY means the computer is 
waiting for your input; the "greater 



than" sign is the "prompt," which 
means the computer is ready for a line 
number (or other command), and the 
underline sign is the cursor, which 
shows where your input will be placed 
on the screen. 

The TRS-80 has two operating 
modes. The simplest is "calculator 
mode," without line numbers, which 
will calculate any expression you type 
after PRINT. If you type PRINT 5-2 and 
press the ENTER key, a 3 will show up 
on the next line. Typing PRINT 7/22 will 
display .318182; the maximum is six 
decimal digits. If you type PRINT 
7/222, the result is 3.1531E-02 instead 
of .031531 ; for numbers less than .1 , the 
computer prints out in scientific nota- 
tion. 

Errors 

To correct a typing error, press the 
backspace key (—) as many times as 
necessary to erase the error. Press 
CLEAR to blank the screen. 

In computer mode, use line numbers 
to write programs. An END statement 
isn't required; you need type only RUN. 

Three error messages signal various 
problems. If WHAT? is displayed, the 
computer does not understand the 
instruction. Perhaps you typed PRNT 
when you meant PRINT, or left out a 
closing parenthesis and typed PRINT 
2/(4-3 instead of PRINT 2/(4-3). If 
HOW? is shown, the computer un- 
derstands the instruction, but can't 
execute it, such as if you use GOTO 
with no line number to branch to, or use 




Basic TRS-80: keyboard/computer, 
monitor, cassette unit, power supply. 



a line number beyond 32,767, or try to 
divide by zero. If SORRY comes up on 
the screen, the computer has run out of 
memory. 

Radio Shack BASIC 

According to the computer's 
designer, Steve Leininger, TRS-80 
BASIC "was designed around Palo Alto 
Tiny BASIC," with the addition of 
floating-point math, two strings (A$ 
and B$), and "some other things." The 
$599.95 price for the complete TRS-80 
system includes Level-I BASIC, stored 
in a 4K ROM. Level I includes four 
commands (LIST, RUN. CONT, NEW), 
fifteen statements (REM, LET, FOR- 
NEXT-STEP. GOSUB-RETURN, 
STOP, END, GOTO, IF-THEN, INPUT, 
ON...GOTO, ON...GOSUB, PRINT. 
DATA, READ, RESTORE), three func- 
tions (ABS, INT, RND). ten math 
operators (add, subtract, multiply, 
divide, equals, not equal to. and four 
greater-than or less-than operators), 
two cassette-memory commands 
(CSAVE, CLOAD), and several special 
commands. These last include 
graphics commands such as SET, 
which turns on a rectangle (a little 
larger than a hole in an IBM card) at the 
designated XY coordinates; RESET, 
which turns off a graphics rectangle; 
and POINT, which checks for the 
presence of a rectangle at the specified 
XY coordinate (if on, returns a 1 ; if off, 
returns a — useful in writing games). 
CLS clears the screen. MEM displays 
the number of bytes left in memory. 

The variables are A through Z, up to 
six significant digits; A(n), four bytes 
per subscript, from to MEM/4; AS and 
B$, character strings up to 16 
characters. AS and B$ cannot be used 
logically; that is, A$ can't be compared 
with B$. 

The RND is different from the ran- 
dom function used in most BASICs; 
instead of providing a decimal number 
between and 1, it provides, if RND(10) 
is used, for example, random integers 
between 1 and 10, inclusive. 
Successive RUNs provide different 
sets of random integers each time. 

Most of the statements and com- 



JAN/FEB 1978 



35 



mands can be abbreviated, usually to 
one letter and a period. Since TRS-80 
BASIC permits multiple-statement 
lines, this feature permits making the 
most of the 4K dynamic RAM memory; 
also, neither LET nor END is required. 
For printing, the screen will display 
16 lines of 64 characters; upper case 
only. For graphics, the screen is 
divided into 1024 rectangles, 128 
horizontally by 48 vertically. Graphics 
and text may be interspersed. The 
PRINT AT function will print any 
message starting at the indicated 
rectangle. For example, 

PRINT AT 640, "HELLO" 
will print HELLO at the beginning of the 
line about two-thirds of the way down 
the screen. 

Cassette Recording 

Data recording using the CTR-41 is 
about as simple as possible. To record 
a program from the TRS-80, press the 
recorder's RECORD and PLAY keys 
simultaneously, then type CSAVE on 
the keyboard, and ENTER this com- 
mand. When the program has been 
recorded (at 250 baud), the TRS-80 will 
automatically turn off the recorder and 
flash READY on the screen. According 
to the manual, "many computer users 
make a second or even a third recor- 
ding of the tape, just to be sure they 
have a good recording." The half- 
dozen recordings I made all recorded 
and played back perfectly, without the 
need for additional recordings. 

To play a recorded tape, set the CTR- 
41 VOLUME control to between 7 and 
8, press the PLAY key, type CLOAD on 
the keyboard, and ENTER. This starts 




TRS-80 graphics: cannonballs demolish the tort, accompanied by noise-words such as KAPOW! 



the tape motion. An * will appear at the 
top line of the monitor screen; a second 
* next to the first asterisk will blink, 
indicating that the program is loading. 
When loading is done, the CTR-41 
turns off and the screen indicates 
READY. All you have to do is type RUN 
and ENTER. 

The tape-recording format is said to 
be similar to the format described by 
Hal Chamberlin in his now-defunct 
publication, "The Computer Hob- 
byist." 

Incidentally, the computer knows 
when to stop when it's reading a 




Using the TRS-80 in the lab to compute theoretical test results 



program from cassette because, when 
the computer wrote the program, it 
automatically wrote a header that 
indicates how many bytes the program 
uses, and also gives the starting 
location at which the program will be 
loaded in computer memory. 

Blackjack, Backgammon 

A "game package" consisting of 
blackjack and backgammon on a 
cassette is included with the TRS-80. 
When I loaded blackjack (which took a 
little over a minute and a half) and tried 
to play it, the first part of the program 
ran properly, but then the screen filled 
with a meaningless collection of 
alphanumerics, and the game halted. 
Seemed like a dead end, but then I 
remembered the line in the manual 
about a second or third recording, and 
tried another CLOAD on the same tape, 
after first wiping out the bad program 
with a NEW. The game ran perfectly. 
Then I remembered that during the first 
CLOAD, the second asterisk had 
blinked only a couple of times, and 
then stayed on. That should have been 
a clue. Anyway, I played Blackjack, and 
won the first six games. Then I started 
to lose, eventually lost all my winnings. 
Was this Blackjack actually programm- 
ed to let me win the first few games, and 
lead me up the garden path? 

Then I loaded the Backgammon 
game. The accompanying booklet says 
"If you don't know the rules, you can 
pick up a copy at any bookstore or you 
can play the computer game a couple 
of times and the rules will become 
obvious. The computer will not let you 
make an invalid move." The computer 
didn't, but I couldn't figure out the end 
game anyway. I do wish they'd taken a 
couple more pages and given the rules. 



36 



CREATIVE COMPUTING 



IF YOU THOUGHT OUR MOTHER WAS GOOD 
BEFORE JUST LOOK AT HER NOW 



* 12 SLOT S-100 ( ALTAIRj BUS 

* KLUGE AREA 

* EXTENSIVE GROUND PLANE 

* PASSIVE TERMINATION FOR ALL LINES 

* NEW - DOUBLE SOLDER MASK 

* NEW - SILK SCREEN PARTS LAYOUT 

He NEW - 3 REGULATED VOLTAGES FOR KLUGE AREA 

OM-1A 
$35. BARE $95. KIT 

$110. ASSEMBLED & TESTED 



DOCUMENTATION FOR ALL WAMECO BOARDS AVAILABLE 

FROM OUR DEALERS FOR *5 CREDITED ON PURCHASE OF BOARD 



DEALER INQUIRIES INVITED UNIVERSITY DISCOUNTS AVAILABLE 



"WTnC/nc. W A ME C0 INC 3107 LANEVIEW DRIVE SAN JOSE CA 95132 



WAMECO DEALERS AND DISTRIBUTORS 
as of 9/15/77 



AUSTRIA 



MARGREITER DATASYSTEM GMBH 
A-1070WIEN 
SCHOTTENFELD GASSE 11 
PHONE (0222) 96 15 65 



CANADA 



ORTHON COMPUTERS 

12411 STONY PLAIN ROAD 

EDMONTON 

ALBERTA CANADA T5N 3N3 

PHONE (403) 488-2921 



* DISTRIBUTOR 



UNITED STATES 

ADVANCED COMPUTER PRODUCTS 
1310 "B" EAST EDINGER 
SANTA ANA, CA 92705 
PHONE (714f 558-8813 

BYTE SHOP OF PALO ALTO 
2233 EL CAM I NO REAL 
PALO ALTO, CA 94306 

HOBBY WORLD 
5716 WEST MANCHESTER 15 
LOS ANGELES, CA 90045 
PHONE (2131641-4200 

* JADE COMPANY 

5350 WEST 144TH STREET 
LAWNDALE. CA 90260 
PHONE <2l3) 679-3313 

♦ MIK0S 

419 PORTOFINO AVENUE 
SAN CARLOS, CA 94070 

PROKO ELECTRONIC SHOPPE 

439 MARSH STREET 

SAN LUIS OB I SBO. CA 93401 

THE COMPUTER CORNER 
22 BEECHURST AVENUE 
MORGANTOWN, WV 26505 
PHONE (304) 292-9700 

WILLIAM ELECTRONICS SUPPLY 
1863 WOODBR I DGE AVENUE 
EDISON, NJ 08817 
PHONE fall) 985-3700 



Incidentally, the erase-protect tabs on 
this cassette are both broken off, to 
prevent your accidentally erasing 
either game. 

User's Manual 

As of this writing, the 230-page 
User's manual wasn't quite ready, so 
much of this article is based on the 30- 
page Preliminary User's Manual, ade- 
quate but not detailed, and with no 
attempt made to teach BASIC, which 
presumably the larger manual does. 

Comments 

The microprocessor in the TRS-80 is 
a Z-80, although a great many users 
won't really care if it's a 4004, as long as 
the computer performs. And it does, 
very well. Operation couldn't have 
been made simpler; by having BASIC 
in ROM, all you do is plug in the 
machine, turn it on, and start program- 
ming. 

Some readers are bound to ask, why 
not use a standard TV set instead of a 
monitor? Because with a monitor you 
get a higher resolution, and the 
sharply-focused characters are much 
easier to read. If you were to try using a 
standard TV set, the characters would 
smear rather badly. The problem is one 
of bandwidth; the signal coming out of 
the TRS-80 is over 5 mHz, and most TV 
sets are limited to 4.5 mHz, or even 3.5 



mHz. However, with the forthcoming 
Level II BASIC, you can switch from 64 
to 32 characters per line, which widens 
the characters and allows them to look 
quite good on a standard TV. Then all 
you need is an RF modulator such as a 
Pixe-Verter, and you can use your own 
TV set. 

One peculiarity: if you type PRINT X, 
without having previously assigned a 
value to X, the result will be 965. Every 
time. PRINT B provides -.5, and PRINT 
J gives you 8.18799. The explanation is 
quite simple: LEVEL I BASIC doesn't 
clear out the variables. LEVEL II BASIC 
will do this. Meantime, follow the 
instructions given in just about every 
book written on BASIC; initialize your 
variables. 

(The reason PRINT X provides 965 
seems to be that, because semicon- 
ductor memory locations can't be 
made exactly alike electronically, the 
individual bit positions thus have a 
built-in tendency to assume either the 
or 1 state when the computer is turned 
on. This tendency can apply to a group 
of locations, so that the same value 
could come up when entering anything 
from PRINT M to PRINT Q, for exam- 
ple. And if such a variety of values 
exists in a single computer's memory, it 
must follow that no two TRS-80 com- 
puters will print out the same set of 
values for variables not previously 



initialized. And if no two sets of these 
variables are alike, then every TRS-80 
memory is as unique in this respect as 
its owner's thumbprint.) 

The Future 

Under a cover at the left rear of the 
keyboard case is a 40-pin bus for 
connecting peripherals and expansion 
memory. Level II BASIC, which is 8K 
Extended BASIC, will be available early 
this year, and replaces the single Level 
I ROM with two ROMs. LEVEL II adds 
the trig functions, exponentiation, 
SOR, and various other goodies found, 
for the most part, in MITS Extended 
BASIC. Actually, the next hardware to 
be available will be an additional 12K of 
RAM, and a printer. More about those 
at a later date, along with details on 
future add-ons such as a serial inter- 
face (so the TRS-80 can be used as a 
terminal), a second cassette interface, 
an assembler/editor, a disk operating 
system and mini floppy-disk storage 
system, and many others, including an 
adapter to permit using S-100 boards 
with the TRS-80. 

In the next issue, we'll discuss the 
230-pao.e manual, and the four 
applications programs now available 
(Payroll, Education — Math 1, Kitchen, 
and Personal Finance) for the Radio 
Shack TRS-80 computer system. ■ 



JAN/FEB 1978 



37 



l^ Creative Computing Equipment Profile.. .1 



Heath H-8 System 



I John Lees (Hardware) and Steve North (Software)! 



[Ed. Note: This is a review of three 
Heath computer products assembled 
by Heath employees as part of the 
manufacturer's pilot-run quality- 
control program. At a later date, when 
the kits of these three products are 
available, we will review them, as well 
as the H-11 computer.] 

Heath computers, after a year of 
rumours and speculation, finally arriv- 
ed at the Creative Computing building 
last month. We unpacked the wired H- 
8 8080-based computer, H-9 video 
terminal, and H-10 paper-tape reader/- 
punch with high expectations and 
eagerly set in on our review of the 
system. 

The Hardware 

Unfortunately we could not begin 
right away because we could not get 
the H-9 video terminal to work, and 
Heath had forgotten to include the 
manuals. When the manuals did arrive, 
we traced the problem to a broken 
wire and fixed it easily. 

Meanwhile we decided to check out 
the H-8 computer as far as we could 
without a terminal. Heath had included 
a parallel I/O card separately and we 
first installed it in the mainframe 
before proceeding. Our initial test 
went like this: 

John: "Plug it in." 

Steve: "Okay." 

John: "Turn it on." 

Click. 

John: "What's that!?" 

Steve: "Look!" 

John: "Turn it off! Turn it off!" 

Silence. 

John: "Where's the smoke coming 
from?" 

Steve: "Back there . . . must be the 
power supply " 

John: "Yeah. The fuse is blown." 

After installing a couple of Radio 
Shack diodes in our Heathkit com- 
puter, we gingerly tried again. This 
time nothing went wrong and 
everything seemed to work correctly. 



Temporarily baffled, we eventually 
discovered that the board connectors 
used by Heath did not prevent plug- 
ging in a board out of line. If a board is 
plugged in offset by one pin up, the- 18 
volt supply is shorted to ground, which 
is what we must have done. 

Talking with Heath revealed that they 
now glue a plastic barrier on each 
board which prevents this — obviously 
an afterthought. We are not overly 
impressed with the sturdiness of the 
connectors, the difficulty with remov- 
ing boards (there are a number of 
screws that must be removed), and the 
difficulty of taking out the mother- 
board to repair the 18-volt supply. If 
you're one of those hobbyists who 
continually yank boards in and out of 
your computer, the H-8 is not for you. 
On the other hand, if you intend to get 
your computer working and then leave 
it alone, the method of securing the 
boards is superior. A definite plus if you 
move your computer about a lot. 

At this point we want to thank Heath 
for one very good feature. All 120-volt 
connections are completely enclosed 
in a metal box. You can't accidentally 
electrocute yourself while poking 
around the H-8 as you can with so 
many other machines. Most manufac- 
tures don't bother with UL approval. 
Heath does. Bravo! This goes for the 
H-9 and H-10, also. 

We then proceeded to check out the 
H-8 with the short program included in 
the manual. Entering it through the 
pushbutton front panel was nicer than 
using toggle switches, although we 




Heath H-8 8-bit computer 
38 



don't understand why an octal display 
is used lor an 8-bit machine. Upon 
executing the test program, the dis- 
play reassuringly told us that "YOUR 
H-8 IS UP AND RUNNING." We set the 
H-8 aside until we had a terminal up 
and turned our attention to the H-10 
paper tape reader/punch. 

Without the rest of the system, all we 
could do with the H-10 was to copy a 
tape, which one does by pressing a 
button on the rear of the H-10. One- 
third of the way through copying a 
1000-foot tape, we discovered the first 
serious drawback to the H-10. 
Somehow the tape being read had 
become twisted and folded in the 
reader, and we had the devil's own 
time clearing it. There is no easy way 
to clear such a problem tape. You can't 
simply lift it out of the reader as you 
can with a Teletype, because the tape 
goes through several closed apertures 
and fits closely between the lamp and 
photoresistors, and under two spring 
clips. But we got it cleared and 
proceeded. 

However, another 100 feet further 
on, the punch began making a strange 
sound and the punched tape fell out, 
chewed in half. Examination showed 
that one solenoid was permanently 
"on," blocking the tape path. Oh, well. 
Then it dawned on us that we were 
halfway through a 1000-foot roll with 
no way to clear it from the reader. So 
we pulled 500 feet of tape through the 
reader, saying nasties about Heath the 
meanwhile, pulling it being faster than 
feeding it. Replacing a power tran- 
sistor cured the problem, but we 
decided not to push our luck by 
duplicating another long tape. Ad- 
ditional bad points are the chad box (a 
joke) and the reader's intolerance for 
wrinkled tape. The H-10 is definitely a 
hobby peripheral. Don't be fooled by 
its good looks into thinking it can take 
a commercial pounding. 

What else to say about the 
hardware? Of course Heath uses a 
unique 50-pin bus, and unique con- 

CREATIVE COMPUTING 



nectors to go between peripherals. 
Actually, the connectors used are 
much sturdier and easier to solder to 
than the 22-pin EIA standard, and the 
50-pin bus makes a lot of sense from 
an engineering standpoint. If you're 
going to have an all-Heath system, 
you've nothing to worry about, and if 
not, Heath-compatible boards and 
adaptors will certainly show up in the 
near future. 

The I/O boards in the H-9 and H-8 
have many, many jumpers that allow 
you to select baud rates and stop bits 
and hand-shaking, etc., to match 
whatever you're using. But such 
changes require a soldering iron. 
Using Heath peripherals with several 
different computers will be a real pain 
unless you install some handy 
switches for yourself. Again, no 
problem in an all-Heath system, and it 
would have upped the cost for Heath 
to include such convenience features. 

The H-10 can be used with a parallel 
I/O card, which allows it to run at its 
own speed, or the H-10 can be 
plugged into the H-9 terminal, in 
which case the combination runs at 
110 baud, emulating a Teletype. The 
H-9 displays 12 lines of 80 characters 
and Heath obviously intends to offer 
an expansion to 24 lines. The H-9 also 
has a plot mode, which looks in- 
teresting but which we didn't have 
time to try out. 

Manuals and Documentation 

As expected, the Heath manuals are 
far, far superior to anything any other 
manufacturer makes available. The 
circuit descriptions and troubleshoot- 
ing guides are excellent. The manuals, 
coupled with the ability to call Heath 
for assistance, make the Heathkit a 
clear first choice if you desire to build 
your hobby computer system from a 
kit, yet are not yourself an experienced 
technician. 

The Software 

PAM-8: The Heathkit H-8 comes 
with a front-panel monitor program 
contained in non-volatile Read-Only 
Memory. This monitor accepts com- 
mands from the front-panel keypad to 
control the computer, and also 
manipulates the display. The front 
panel consists of sixteen pushbuttons 
and eleven seven-segment displays. 
The H-8 front panel does not have 
direct control over the machine. The 
PAM-8 permits examination and 
modification of memory, CPU 
registers, and I/O ports, single- 
stepping, and loading and saving of 
memory with a peripheral device. 
PAM-8 supports a realtime clock and 
also permits you to reset the system 
(re-enter PAM-8) by pressing two 
buttons on the keypad simultaneously. 

Since it is not a direct display of the 

JAN/FEB 1978 




Heath H-9 CRT keyboard terminal 

internal state of the machine, the H-8 
front panel is not as well-suited for 
hardware debugging as the front panel 
on an IMSAI. On the other hand, it 
does offer many convenient features 
for people who prefer to use their 
computers, not debug them. To save a 
program on the device at port 370 
octal, enter a few digits and press 
DUMP. To load a program from the 
boot device (at 370 octal) just press 
LOAD and sit back. With a "dumb" 
front panel, you would have to enter a 
long I/O driver program. With the H-8 
front panel, you can examine memory 
in a normal mode, examining a par- 
ticular address and stepping forward 
and backward (with the + or - keys on 
the keypad), or use the "alter" mode, 
in which you enter consecutive bytes 
of memory. 

The H-8 front panel use octal 
notation. While Heath may have felt 
that this was logical, since the 8080 
instruction set is octal, there is a 
strong predominance of the use of hex 
in the microcomputer field. One byte 
just doesn't conveniently divide up 
into groups of three bits. It would also 
have been nice if Heath had built a 
little more flexibility into PAM-8, so 
that the system could be booted up 
from a device other than the one at 370 
octal. However, front panels in general 
are becoming less and less popular as 
people discover that it is impossible to 




Heath H-10 paper-tape reader/punch 
39 



do anything significant without a 
terminal. Therefore, it is often more 
practical to include a PROM monitor 
that talks to a terminal, since you 
generally ends up with one. It is also 
tough to understand why Heath decid- 
ed to use the 8080 instead of the Zilog 
Z-80 microprocessor. While we 
suspect that part of the attraction of 
the Z-80 stems from the fact that it 
begins with a Z', it is nevertheless an 
obvious choice over the 8080 in 
designing a new product, since its 
nstruction set is more sophisticated 
than the humble 8080s, and use of the 
Z-80 instead of the 8080 also generally 
reduces the package count. PAM-8 
resides in low memory in the H-8. This 
will make it difficult to use most of the 
8080 software available in object form, 
since most software is assembled to 
run at zero. In most other micros, 
PROM memory is located way up at 
the top of the addressable memory, 
thereby not interfering with anything 
you want to load in low memory. It is 
safe to say that few people will be 
using MITS BASIC with their H-8's. 

BUG-8: BUG-8 is a debugger for 
8080 object programs. BUG-8 permits 
your general debugger functions (ex- 
amination and modification of 
memory, registers, single stepping, 
etc.) with a terminal. This is definitely 
a handy thing to have if you do much 
assembly language programming. 

TED-8: To create assembly- 
language programs and general text, 
Heath supplies TED-8, a text editor. 
This editor is pointer-oriented, and 
permits listing of the text, insertion/re- 
placement/deletion, searching for a 
given character string, etc. Although 
your first impression at looking at the 
TED-8 documentation is that it is 
difficult to learn, it is actually rather 
straightforward. Since all commands 
have the same basic format, one need 
only plug in the correct parameters to 
perform a specific function. Unfor- 
tunately, in learning to use TED-8 we 
did not use this format a few times, 
and managed to crash TED-8. TED-8 
also permits you to save and load text 
information from an external device. 

HASL-8: While the acronym for this 
software may have been rather poorly 
chosen, Heath's assembler seems to 
be a good 8080 assembler. Assembly 
is done from source code on cassette 
or papertape. rather than memory. 
While this method is slower than a 
completely in-core assembly, it also 
eliminates the need to have 32K of 
memory to assemble a well- 
commented 1K program. The bad 
news is that sometimes Heath does 
not use the normal Intel-approved 
mnemonics. No one else calls a JNZ 
(Jump if Not Zero) a JNE (Jump if Not 
Equal) (even if, after a compare 
instruction, you really are testing for 



IN ELECTRONICS 



HAS THE LINE.. 



DIP/IC INSERTION TOOL with PIN STRAIGHTENER 




STRAIGHTEN PINS 



RELEASE 



PICK-UP 



INSERT 



MINIMUM ORDER $25.00, SHIPPING CHARCE $1.00, NY. CITY AND STATE RESIDENTS ADD TAX 



OK MACHINE AXD TOOL CORPORATION 

3455 CONNER STREET. BRONX NEW YORK N Y 10475 USA 
PHONE 1212) 994 6600 TELEX NO 125091 



equivalence). There is no need to 
create incompatibility at the assembly- 
language level! What are a couple of 
characters, here or there? If, on the 
other hand, you never plan to use 
other people's programs, it doesn't 
make any difference. HASL-8 has 
conditional assembly features. 

BASIC: Heath ("Benton Harbor") 
BASIC (8K and 12K) offers most of the 
features that have become standard 
for microcomputer BASICS: floating- 
point math, multiple statements per 
line, arrays, string scalars and arrays. 
a full function library, and so on. Heath 
12K BASIC also has some special- 
purpose commands for manipulating 
the front-panel display and to read the 
front-panel keypad. Although Benton 
Harbor BASIC is not nearly as fast as 
MITS BASIC, it seems reliable and 
should serve the needs of Heathkit 
buyers. The fly in the BASIC ointment 
is a feature called command comple- 
tion. As you type in statements. BASIC 
looks at the characters you enter, and 
if it thinks you are typing a keyword, it 
completes the keyword for you on the 
terminal, and apparently also con- 
denses the keyword into a single byte 
in memory. For example, you type 
GOS and the machine finishes the 
word with UB to make GOSUB. So we 
found ourselves typing PRINT INT and 
RUN N quite often. A representative of 



Heath explained that after using the 
software for a while, you can an- 
ticipate when a keyword is coming up, 
and wait for the machine to complete 
it. In fact, he said it felt unusual to go 
back to a machine without the com- 
mand completion. It's hard to decide 
whether this feature is actually 
desirable or whether it is a gimmick. 
Heath is rumoured to be considering a 
modification to permit you to use 
command completion or turn it off. 
which we would heartily recommend 
(this would make the decision as to the 
value of command completion an 
individual thing, rather than an 
academic question). The other not- 
very-handy thing is that when you do a 
string INPUT, the string must be 
enclosed in quotes. The reason for 
this, as far as we can guess, is that 
BASIC uses the regular line-input 
routine to read a character string, and 
the " is needed to turn off command 
completion. In Extended BASIC there 
is a LINE INPUT statement that works 
like a normal string Input, without 
command completion and without 
quotes. 

Extended BASIC does have a nifty 
feature that automatically vectors you 
off to a particular BASIC subroutine 
when control-B is typed on the 
keyboard. A real-time clock is also 
available to BASIC. So, except for 



those two related features that are 
slightly annoying, Heath BASIC is a 
very adequate BASIC for the hobbyist. 
It is commendable that Heath is 
providing cheap software for the H-8. 
This will tend to discourage software 
thievery by H-8 owners. Heath has 
nothing to fear from non-H-8 owners 
(not only will H-8 owners not be using 
MITS BASIC, but Altair owners will not 
be using Heath software, due to its 
dependence on PAM-8). Heath has 
also developed a reasonable standard 
for the format of the data recorded on 
cassette or papertape, rather than just 
throwing data out at the peripheral 
and then sometime later yanking in 
whatever goes by. Heath's design 
philosophy for software seems to have 
carried over from the philosophy 
behind their hardware: nothing flashy 
or innovative, but it is cheap and it 
works reasonably well. Neither portion 
of their product is aimed at the 
microcomputer fanatic (who by now 
has probably already bought a system 
anyway (which came first: the com- 
puter or the computer fanatic?). It is 
also not a product for the masses out 
there, unknowingly waiting for the 
phantom PET to be dropped upon 
them like some kind of bomb. Rather, 
it is ideal for the person who likes 
Heathkits and wants to get into 
personal computing Heath-style. ■ 



40 



CREATIVE COMPUTING 



How Would You Like 
A 16- Bit Computer? 



Webb Simmons 



Those of us whose experience has 
been limited to the 8-bit micro- 
computer chips will be seeing some 
new and revolutionary computer fea- 
tures before very long. I say this 
because the prices on the 16-bit micro- 
computer chips are coming down and 
some, such as the Nova chip, are being 
second-sourced. Data General is the 
prime source for the Nova chip, but it is 
rumored that Fairchild has a Nova chip 
in the works for the near future. 

Some of the new features will be 
mighty nice but some will be a little 
disappointing. An example of a disap- 
pointing feature is the lack of a stack. 
The classic PDP-8 did not use a stack, 
so neither does the Intersil imitation of 
the PDP-8. The Nova 1200 that Fair- 
child is copying did not use a stack so 
neither will their copy. At least the Nova 
copy will allow standard code to be 
placed in ROM (EPROM, etc.) whereas 
a PDP-8 standard subroutine cannot 
be placed into ROM because of its 
archaic subroutine linkage. The copy 
of the PDP-11 (currently the LSI-11, 
but perhaps others are to come) has a 
stack of course; its disappointing 
feature is primarily its high price. 

The new features I will discuss are 
not new at all, as you might have 
guessed. They center around the use of 
memory locations to perform register- 
like functions. Most of the giant com- 
puters allow such shenanigans and all 
of the so-called minicomputers ab- 
solutely require them. They could not 
survive without these features (with the 
possible exception of the PDP-11). 
Minicomputers have been made with 
just one 8-bit register and the PDP-8 is 
not particularly fat. Several very 
successful minicomputers such as the 
HP-2100 by Hewlett-Packard have 
had only two registers. 




Data General's microNOVA chip is featured in the one-board CPU with 8K bytes of RAM, and in the 
complete microNOVA with its detachable "console ." 



JAN FEB 1978 



41 



Prices of 16-bit microprocessor chips are coming 
down; some are now second-sourced. Here's a 
rundown on the new features you can expect from 
16-bit machines in the near future. 



The addressable memory increment 
in minicomputers can be 8-bit bytes 
(examples are the PDP-1 1 by DEC and 
CIP/2200 by Cincinnati Milacron) or 
16-bit words (examples are the Nova 
series by Data General). These are not 
the only addressable increments; a few 
are 12 bits, 18 bits, etc., but let us not 
discuss these at all. Regardless of the 
addressable increment it is conven- 
tional to think of memory as bytes of 8 
bits and words of 16 bits. A word on the 
PDP-1 1 must be two bytes starting with 
an even-numbered location, but a word 
on the CIP/2200 is two bytes, starting 
anywhere. A byte on the Nova is either 
the upper or lower half of a word. 

The Nova minicomputer has fea- 
tures of most minis that are both 
good and bad when compared with 
existing 8-bit microcomputer chips 
and it is the chip you are most likely (big 
question mark here) to see, so let me 
use it as an example. 

On the Nova, any 16-bit memory 
word can be used as a counter, either to 
control a loop or for any other purpose. 
The Nova uses the instructions ISZ 
(increment and skip if zero) and DSZ 
(decrement and skip if zero) to manage 
these words. If the addressed location 
does not become zero upon an ISZ (or 
DSZ), the next instruction (which 
might be a jump, JMP) is executed in 
regular sequence, or else the next 
instruction is skipped over. 

The Nova allows any memory loca- 
tion (and this is always a 16-bit, 2-byte 
word) to be used as a vector or pointer 
(address pointer). Such a vector is 
used for the indirect addressing mode. 
If one loads indirectly from location 
100, it is not the value of location 100 
that is loaded but it is the value at the 
location whose address is contained in 
location 100. If location 100 contains 
the value 200 and location 200 contains 
the value 300, a direct (the ordinary) 
load from 100 gets 200, but an indirect 
load from 100 gets 300. The indirect 
memory references can be loads, 
stores, jumps or whatever. 

The address field in Nova instruc- 
tions is only 8 bits wide. This means the 
Nova cannot directly address without 
indexing more than 256 locations (256 
words)— the words from 000 to OFF 
(hex). However, the Nova can indirect- 
ly address these same 256 words, each 
of 16 bits, and each of these is able to 
address the entire machine. These first 



256 words on the Nova are called 
"page zero." Page zero figures strong- 
ly on most minicomputers but in a very 
different sense than the page zero 
restart locations on the 8080 and Z-80. 

All Nova instructions can also be 
indexed (whether or not they are 
indirect) in which case the 8-bit ad- 
dress field of the instruction is regard- 
ed as being a signed value from -1 28 to 
+ 1 27 with respect to AC2 of AC3 or the 
program counter. AC2 and AC3 are 
Nova registers. The Nova has four 16- 
bit registers: AC0, AC1 , AC2 and AC3; 
all four can be used as accumulators 
but only AC2 and AC3 (or the program 
counter) can be used as an index 
register. Indirect addressing may be 
combined with indexing on the 
program counter to permit any nearby 
word to be reserved for use as an 
address vector. Indexed addressing on 
the program counter is relative ad- 
dressing as it is defined for jumps on 
the Z-80. 

The most common subroutine jump 
or call mechanism on hobbyist com- 
puters is the transfer to a location 
identified by a 16-bit address field with 
the return vector (return location) 
pushed onto the stack. This stack can 
be in memory as it is for the 8080 and 
Z-80, or it might be in the CPU itself as 
it is for the 8008 or IMP-16. Such 
hardware-managed stacks are relative- 
ly uncommon in minicomputers. The 
PDP-1 1 has a stack but the older Nova 
computers do not. On the Nova the 
return vector is always placed into 
AC3,destroying any value that might be 
there before executing a JSR (jump to 
subroutine). Even this subroutine 
mechanism is unusual for mini- 
computers. The most common method 
for calling subroutines in mini- 
computers is one in which the return 
vector is stored in the body of the called 
subroutine itself, as it is done in the 
PDP-8. 

Probably the classic subroutine 
calling method uses a JSR 300 in 
location 200 to cause the value 201 to 
be stored in location 300 and execution 
to start at location 301. This is the 
method of the PDP-8, CIP/2200 and 
many other minicomputers. This, as 
was suggested earlier, is not a very nice 
subroutine mechanism because it 
prevents you from placing the sub- 
routine code in ROM and PROM. If you 



really must use ROM on a PDP-8 there 
are ways to do it but they are not nice. I 
will leave the discovery of such a 
method as an exercise for the reader. 
Imagine you have a 6800 or 8080 but 
that you must not use the subroutine 
CALL or JSR. Can you then devise a 
method for calling ROM subroutines? 
It can be done, and that is what you 
must do on the PDP-8. 

Anyway, the main improvement in 
the instruction set of the Nova over the 
Z-80's set is the larger number of 
addressing modes and the ability to 
use any memory location for a counter 
or vector. You will miss the ability to 
jump anywhere with one instruction, 
but you will quickly get used to the 
need for a nearby vector for distant 
references. A few memory locations on 
the Nova are quite special when used 
as indirect vectors. The 8 locations 
from 10 to 17(hex) are automatically 
incremented when used as an indirect 
vector while the 8 locations from 18 to 
1 F(hex) are automatically decremented 
by such use. Only the Nova does not 
(normally) speak hex. The incremen- 
ting locations are octal 020 to 027 and 
the decrementing locations are octal 
030 to 037. 

Are you ready to run out and buy that 
Fairchild Nova chip when Fairchild 
offers it for $10 or more? The extra 
addressing modes are really great but 
the conditional instructions are liable 
to drive you right up the wall and 
maybe completely over the wall. The 
Nova does not have conditional jumps, 
calls or returns. The only conditional 
instructions are skips, which skip the 
very next instruction upon a true result. 
Frequently the next instruction is a 
jump but it need not be so. The Nova 
does not have the several typical flag 
bits for zero, parity, etc., that you are 
accustomed to, but the Nova does have 
a carry bit that can be set, cleared, etc., 
and which can be tested either alone or 
in combination with a register (ac- 
cumulator). 

Actually, the conditional tests on the 
Nova are not all that bad after you grow 
accustomed to them, but their use is 
not as straightforward as it is on most 
8-bit microcomputer chips. The condi- 
tional tests and much else is discussed 
nicely in a very good book, How to Use 
the NOVA Computers by William 
English and published by Data General 
Corp., Southboro, Massachusetts. ■ 



42 



CREATIVE COMPUTING 



& 



OSBORNE & ASSOCIATES, INC. 

The World Leaders In Microprocessor Books 

Many books on microprocessors and their use are now on the market, and most of them have names that sound alike. But 
Osborne & Associates' books have dominated this market since 1975, when our first book appeared. With rave reviews from 
all over the world, with more than three hundred university text adoptions, our books are all best sellers. In fact, "An In- 
troduction To Microcomputers: Volume I — Basic Concepts" now holds the world's record in sales volume for any com- 
puter textbook sold for a profit. 

If you want information on microprocessors, begin with the Osborne books. 



(- 


■ \ 

"Some Common BASIC Programs". By 

Lon Poole and Mary Borchers. 

76 short practical programs with descrip- 
tions and examples. Most can be used ex- 
actly as listed on any microcomputer with 
any version of BASIC. 200 pages. 
Book No.: 6001 $7.50 





BASIC Business Programs 

Each book has complete urogram listings in BASIC, user's 
menus!, and thorough documentation By Lon Poole end 
Mary Borchers. 

"Payroll With Coat Accounting — In BASIC. 400 
pages Book Mo 22002 $12 50 
"Accounts Payable And Accounts Receivable. Book 
No.: 23002 $12 50 Avertable early 1978. 
"Generel Ledger" Book 
J No: 24002 $12 50 Avertable mid 1978 - 


i 


l = : 




"An Introduction To Microcom- 
puters: Volume — The Beginner's 
Book" By Adam Osborne. 

This is the book for the absolute beginner. 
Assuming that you know nothing about 
computers, math or science of any kind, this 
book explains what computers are all about 
— and it takes you to the point where you 
can read Volume I. 300 pages. 
Book No: 6001 $7.50 



^_ 




"8080A/8085 Assembly Language Pro- 
gramming" By Lance Leventhal. 

This book is for the assembly language pro- 
grammer or student; it explains assembly 
language programming for the 8080A and 
8085 microcomputers. The book contains 
numerous examples. 400 pages. 
Book No.: 31003 $7.50 


> 


8080A/8085 

ASSEMBLY 

LANGUAGE 
PROGRAMMING 

Lance Leventhal 






"An Introduction To Microcom- 
puters: Volume I — Basic Concepts" By 

Adam Osborne. 

The world's best selling computer textbook. 

This book explains, clearly, concepts common 

to all microcomputers, yet specific to none. 350 

pages. 

Book No.: 2001 $7.50 




"An Introduction To Microcom- 
puters: Volume II — Some Real Products" 

(Revised June 1977) By Adam Osborne. 
Susanna Jacobson and Jerry Kane. 

This book describes every common 
microprocessor and all of their support devices. 
Information is new and clearly written. Only 
data sheets are copied from manufacturers. 
1200 pages. 
Book No.: 3001 $15.00 



OSBORNE & ASSOCIATES. INC. • P.O. Box 2036 • Berkeley, California 94702 • DEPT. L 



6001 Volume — The Beginner's Book 



2001 Volume I 



: Concepts 



3001A Volume II — Some Real Products 



4001 8080 Programmng For Look Design 



5001 6800 Programming For Logic Design 



7001 Z80 Programming For Log* Design 



31003 8080A/8085 Assembly Language Programming 



2 1002 Some Common BASIC Progrems 



22002 Payroll With Cost Accounting 



PRICE 



1250 



QTY 



• 8-1/2%. SF Bay Area residents only 
e 6%. Caatoma residents outside SF Bay Area 
e Payment must be enclosed for orders of 

10 books or less. 

• I hi 



I"! check f~l money order 



TOTAL 

Sales Tax ICekf residents only) 
Shipping Charges 
TOTAL AMOUNT OF PURCHASE 



AMT 



CITY STATE ZIP PHONE 

SHIPPING CHARGES 

□ 4th class (no charge, aaow 3-4 vreeks yyithin USA. not appkcable to discounted ordsrsi 

□ $ 50 per book. UPS laaow 10 days) 

PI $1 50 per book, special rush shipment by m 

□ $3 00 per book, foreign «r ma*. No foreign surface mai orders 
Shipping charges for bulk orders to be arranged 



Please send information on: 
n consignments 



f~1 dealer discounts 



["I foreign distributors 



F2 



l)[jD 



bogs odd yop© 



Turing Machines 



John Lees 



In what may be the last in this series of articles, for a while at 
least, we arc going to climb into our Turing machine and drive 
off into the sunrise of automata theory. We aren't going to go 
very far, since automata theory becomes very complicated 
rather quickly, but we'll explore the basic concept. A. M. 
Turing, in case you're wondering, was an English mathemati- 
cian who did pioneering work in computer science back in the 
beginning and even before. Perhaps most well known for the 
proposed test of machine intelligence which bears his name, 
Turing died in 1954. 

The Turing machine is a logical, not a mechanical, device, 
although you can certainly build or simulate one. As such it is 
possible to present the concept in a number of ways, so don't be 
confused if you see Turing machines discussed elsewhere using a 
different notation. A Turing machine is ■ type of recognizing 
device, generally accepted as defining what computer scientists 
call a procedure. It can be shown that a Turing machine can be 
used to describe any computation which any digital computer 
can perform. 

What is a procedure? You probably have a loose idea of a 
procedure as a sequence of steps performed to achieve some 
desired result, and that is essentially correct. A procedure is a 
finite sequence of steps performed to achieve a desired result but 
not guaranteed to achieve the result. A sequence of steps which 
always achieves a result is an algorithm. An algorithm always 
halts; a procedure may or may not halt. This distinction is 
obviously of great importance to the writer of a program. An 
infinite loop is a procedure. 



CELL 



TAPE HEAD 




TAPE INFINITE TO RIGHT 



CONTROL 
UNIT 



From the diagram of our elementary Turing machine you can 
immediately see that it is very simple. Yet any program run on a 
digital computer can be reduced to the point where it can be 
represented by just such simplicity. Next time a computer tries 
to intimidate you, remind it that it's just a Turing machine 
putting on airs. 

Our elementary Turing machine has a control unit, essentially 
a CPU. and a tape head with which it can read or write one 
symbol at a time in one cell of the tape at a time. The tape can be 
moved left or right one cell at a time, infinitely to the right. 
Initially a number of cells on the left contain symbols; the 
remainder of the tape is blank. The tape head starts out on the 
leftmost cell. 

So what docs a Turing machine do when you turn it loose? It 
makes a sequence of moves and in each move three things 
happen: 

1. The machine changes state. 

2. A symbol is written in the current cell, replacing the 
symbol or blank previously there. 



3. The tape head is moved left or right one cell. 
Each of these three things always happens each move, although 
the machine may change to the same state and may write back 
the same symbol it read. 

The set of states amount to a program. Each state 
specification has the following form: 

(CURRENT STATE, SYMBOL) - (NEW STATE. NEW 
SYMBOL. DIRECTION) 

This amounts to a programming language with only one 
statement type, which means: If in the CURRENT STATE and 
if SYMBOL is under the tape head (SYMBOL is the contents of 
the current cell), then change state to NEW STATE, write NEW 
SYMBOL to the current cell and move one cell in DIREC- 
I ION. Then the machine evaluates the new cell in light of the 
new state, etc. 

One state will be indicated as the start state or initial state and 
one or more as the final state. When a final state is reached, the 
Turing machine is said to have recognized the input on the tape 
and halts. Usually the initial symbols on the tape arc considered 
to be a string in some formal language and the Turing machine is 
said to recognize the sentence when it halts by going into a final 
state. 

If the Turing machine does not recognize the sentence, then it 
may either reach an invalid state; that is, the wrong symbol is 
under the head for the current state, and halt, or it may simply 
run forever, never halting. When the input is considered as a 
sentence in a language, the states have a close relationship to the 
grammar for the language. 

Now let's consider an example of a specific Turing machine, 
one which recognizes the language{l.= l n ()|n3H}. This 
language is a string of at least one "I" followed by exactly one 
"0". The states of our machine might look like this: 

(S,.l) -(S:,X.R) 

(S .1) - (S:.X,R) 

(S .0) - (S..Y.R) 

(S,.B) - (S4.B.L) 
The start state is Si, the final state is S*. Tand "0" arc symbols 
which may appear in cells of the tape, "B" stands for a blank cell. 
"X" and "Y" are symbols written on the tape so the machine can 
determine if that cell has already been read, although that is not 
necessary in our example. "R"and "L"are the direction the head 
is moved to the next cell. 

Showing the moves of the Turing machine for a string it 
recognizes: 

JJIO (S,,l) - (S ; ,X.R) 

XHO (S .1) -(S:.X,R) 

XXH) (S:.l) -(S..X.R) 

XXXO (S;,0) - (S,,Y.R) 

XXXY_ (S..B) - (S4.B.L) 
The last move results in the machine entering its final state. S«, 
and halting. So the machine recognizes the string "1 1 10" as a 
valid string in the language L. 

Now let's look at two examples where the same Turing 
machine does not recognize the input string: 



JAN/FEB 1978 



45 



r 




SPEAK "KAAMPYUTAOLKER" 



MODEL CT-1 SYNTHESIZER 395.00 

CSR1 SOFTWARE SYSTEM 35.00 

DEMONSTRATION CASSETTE 2.95 

CALIF RESIDENTS ADO 6% SALES TAX 
WRITE FOR INFORMATIVE LITERATURE 

COMPUTALKER CONSULTANTS 
P.O. BOX 19S1 , DEPT. E, SANTA MONICA, CA 90406 



Tarbell 
Floppy Disc Interface 

Designed for Hobbyists and 
Systems Developers 




Plugs directly Into your IMSAI or ALTAIR* and handles up 
to 4 standard single drives in daisy -chain 

Operates at standard 250K bits per second on normal disc 
format capacity of 243K bytes. 

Works with modified CP/M Operating System and BASIC-E 
Compiler. 

Hardware includes 4 extra IC slots, built-in phantom boot- 
strap and onboard crystal clock. Uses WD 1771 LSI Chip. 
6- month warranty and extensive documentation. 
PRICE: Kit $190 Assembled $265 

• ALT AIR Is a tT«d«mark/lrao>n«ni« of M1TS. INC 



20420 South topwood A«n». SuM f 
Canon Coaonno 90746 
(213) 538-425I 




■fret 



(S,,I)-(S 2 .X,R) 

(S:.I)-(S;,X.R) 

(S 2 ,0) - (S,.Y,R) 



JJOO 

XJOO 

XXOO 

XXXO 
In state Si, "0" is not valid as the contents of the cell under the 
tape head. So the machine halts in error, not recognizing the 
input string. 

Mil... (S,,l)- (S 2 ,X,R) 

XJ.11... (S;.l)- (S;,X,R) 

XX M... and on and on and .. . 
With an infinite string ot "I "s as input, our Turing machine will 
neither halt in the Final state nor reach an invalid state. It will 
continue forever. 

Actually in the formal definition of a Turing machine, we do 
not allow the tape to initially contain an infinite string. The 
point of the last example is that a Turing machine produces a 
useful result only if it halts. That it doesn't halt proves nothing 
— the next symbol could be the one that would result in the 
machine recognizing and halting. This is why we say that a 
Turing machine defines a procedure, not an algorithm. 

In the process of recognizing a valid input string, the Turing 
machine can perform can perform computations. Consider a 
machine that recognizes the following strings: "0+0=", **0+l=". 
"l+0=". and "l + l=": 

(Si. I)- (S..X.R) 
(S..+)- (S^.Z.R) 
(Ss.O)- (S .Y.R) 
(SO)-(S,.X,R) 

(S =)-(S,,.Q.R) 

(S,,=)-(S,,.0.R) 
(Sn.B)- (Sn.l.R) 

(Sm,B)-(S,,.2.R) 



(S,.0)-(S,Y.R) 
(S-.+) - (S..Z.R) 
(S,.0) - (S„.Y,R) 
(S^D-fSH.X.R) 
(S. .=) - (Sm.Q.R) 
(Sx.=) - (S, ,Q.R) 
(S„,.B) - (S„,,O.R) 
(S, .B)-(S,,I.R) 
Start state S, 



Final States 


Ski, Si i. Si:, Sn 


Here's how this Turing machine processes one of the valid input 


strings: 




1+0= 


(S,.l) -(S..X.R) 


X+0= 


(S,,+) - (S^.Z.R) 


XZ0= 


(SsO) - (S .Y.R) 


XZY= 


(S 7 .=) -(Sn.Q.R) 


XZYQ_ 


(Sn.B) -(Su.l.R) 



46 



XZYQI_ 

The machine has halted in one of its final states after computing 
that 1+0=1. A Turing machine to handle generalized arithmetic 
functions would have a very large number of states, but it could 
be done. 

This example, simple as it is. should make it clear that 
anything which can be done on a digital computer can be 
restated in terms of a Turing machine. Looked at as a computer, 
a I uring machine can increment or decrement a memory 
address, read and write in a memory location, and perform a 
compare. A very simple machine, indeed! This proves the hard- 
to-helicvc fact that, given enough time and storage, anything 
you can compute on one computer can be computed on any- 
other computer. So don't feel in awe of an IBM 370. Just buy a 
lot of memory and practice patience. 

What we have been discussing is called an elementary Turing 
machine, because more complicated versions exist. The tape can 
be infinite in both directions, more than one tape (but still one 
tape head) may be used, or instead of a tape a two-dimensional 
grid may be used, with four possible moves from each cell. All of 
these modifications can be proved to be equivalent to the 
elementary Turing machine. Just as with computers, moving up 
to a more sophisticated model doesn't let you do anything 
fundamentally different you are just able to do things more 
easily, with fewer steps. 

Remembering that all current digital computers are fun- 
damentally equivalent to a Turing machine, you might want to 
ponder for a while what it would mean if someone succeeded in 
simulating human intelligence on a computer. Is that really all 
we have between our ears, a Turing machine? ■ 

CREATIVE COMPUTING 



MODERN 
STORE 

0€PT 

965 

MDSE 2 

7531*6 

SKU 

329461 

MFG LIST PRICE 

$5.95 



4.95 



V 




••••••• 4 

• •• ••• ••••< 

<•••• • ■■■• 

_ _<•••* •■• t _ . 

••••• ••••••■ •■• 

->•• ••• ••• ••• 

••• ••• •■••••• ■■•■■ ••••*•• 

••• ••• ••••■•• ■•■•« ■••••■■ 

• •• ••• ■■••>■ ■ •< 



•••••• ••• •• 



••• ••• ••• 

• •■ ••• ••• ■■■■■»■ 

••• ••• ••• ■•• #•< 

••• ••• ••• ••• •• 

• •• ••• ••• ••• • •< 

••• ••• ••• ••••••■ ••• 

••• ••• ••• •■•■••■ ••• 

••• ••• ••• 



::: 



:::: 
•::: 



• •• ••• ••• 



• •••• 

• •••• 



••• ••• 

*•• ••• 

••••••• 

••■•••a 



••• ••••• 




by Susan Hastings 



Years ago, manufacturers of retail marketing equipment 
recognized the need for automated systems of merchandise 
marking, but, because there was no alternative at the time, 
each manufacturer was forced to develop his own standard 
for automated data input. As equipment manufacturers and 
retailers began to recognize the difficulty of supply the 
hardware and software necessary to support all of the 
various systems, industry-wide marking standard was 
urgently sought. In 1966, after perhaps the speediest 
example of technological cooperation in history, OCR-A 
was adopted as a U.S. general purpose data processing 
standard for merchandisers; internationally it was adopted 
in 1969. But until recently, a merchandise identification 
system that was both technically sound and economically 
feasible had not been available. Now though, a chain of 
recent hardware and software advances have forged the 
missing link between the Universal Vendor Marking 
Standard and systems technology that will make it possible 
for retail automation to move into a new and more 
productive era. 

All this progress however, will remain meaningless until 
it is actually implemented. In a speech to the National Retail 
Merchants Associations 65th annual convention, William 
S. Anderson, chairman and President of NCR urged 
everyone associated with retailing — shoppers, merchants, 
merchandise manufacturers, and especially, equipment 
manufacturers — to assist in the implementation of the 
UVM in order that its great potential might be proven. 

Anderson said that retail equipment manufacturers can 
support the new Universal Standard because: 

• It is a standard chosen and promoted by the general 
merchandise retailing industry rather than a single 
equipment manufacturer. 

• It is human readable as well as machine readable, 
offering both internal systems benefits and external 
customer benefits. 

• It is a standard which can be printed by relatively 
inexpensive mechanisms and thus can be implemented at 
relatively low cost. 

• It can be used with virtually any retail medium 
including credit cards, invoices and other control devices. 

Retailers, Anderson stated, will benefit from OCR-A 
scanning because with it they will have a powerful new tool 
for achieving inventory control at the unit level rather than 
at the dollar level, thus, buying and selling merchandise can 
be accomplished more efficiently and more profitably. This 
benefit will be passed on to merchandise manufacturers as 
stock control is improved, orders are filled more efficiently, 
and there is more timely feedback on product reception in 
the marketplace. 

Finally, the shopping public will find that UVM brings 
them new levels of shopping convenience, savings of time 
and greater protection against error as well as a better 
selection of merchandise through a reduction of out-of- 
stock situations. 



A UVM standard makes computerized scanning systems 
inexpensive. And new technology will be constantly shaving 
away at equipment costs. 

Implementing any new standard is a big and complex 
undertaking. This is especially true when the standard 
involves an industry with the tremendous diversity of 
retailing and its many thousands of suppliers. But if 
everyone in every facet of retailing is aware of the benefits 
of the new standard, perhaps the UVM will become the 
basis of the Retail Revolution of 1976. 

Or 1977, or 1978. or 1979. etc. Asa result of a variety of 
unanticipated ills (malfunctioning computers., union 
pressure, actions by the Consumer Federation of America 
and others, shoppers objections to price markings only on 
the shelves, etc.), UVM (or UPC) has had a rough time 
getting off the ground. The fact that some of the major 
supermarket chains have decided to play a wait-and-see 
game hasn't helped either. Will UVM and Supermarket 
scanning be a repeat performance of the great Eastern 
Railroads Debacle or the Alaska Pipeline Botch? Only time 
will tell, but in the meantime the name of technology gets 
dragged through a few more feet of mud and if it eventually 
emerges victorious, is it really a victory? — DHA ■ 







J 
MC 


T 
IOERN STORE 


«-. 












MFT CLASS 

11 223 
su. qs 

CIAS* ^^ 

VtNOO* 

361326 

axon 

RED 

Ms 

SMALL 
mu 


-r 1 


MODERN 
STORE 

Otrr 

965 






SS 


7'. 

m 

3; 

* < 


111111 1 111 


v. 

MODERN 
STORE 

742 

Wft 

934286 
SMALL 

• 5.69 









\ 


" Mm 

\ 


Urn! 


hM**-] 


951 

MPT 

6*99 


3166 




















^ 


2/»22 

• 1 2 • 00 


• 35 










r* 
















S10.< 


»5 





JAN/FEB 1978 



47 



WORLD2 



Here's your chance to create a 
better world, by experimenting 
with a simulation model. 



James L. Murphy' 




In [1] Jay W. Forrester presented a 
world population model interrelating 
many variables including population, 
natural resources, food supply, pollu- 
tion, capital investment, and quality of 
life. The computer program presented 
there was written in the Dynamo 
language. This is a version of the same 
model written in BASIC. The program 
can best be used in conjunction with 
the model description given in World 
Dynamics. 

In lines 5000-6000 the variables as 
used in World Dynamics are related to 
the corresponding variables of the 
BASIC program along with the line 
number in which they are defined. This 
makes it quite easy to make 
modifications in the program, allowing 
the user to duplicate the results 
reported by Forrester as well as to 
experiment on his own to try for a 
"better world" according to your own 
values and assumptions. 

Figure 1 shows the outcome when 
using the assumptions of the original 
model. In this model the world runs 



"Dept of Mathematics. California State College. 
5500 State College Pkwy. San Bernardino. CA 
92407. 



down for lack of natural resources. You 
can test what would happen if you 
assumed the natural resources 
available in 1900 were double what was 
originally assumed available (see 
Figure 2). In line 5460 of the program, 
you see that natural resources initial is 
N1 and defined in line 2270 which was 
changed in the run of Figure 2 from 
900E9 to 1800E9. This caused pollution 
to grow out of control, so one might 
want to introduce a pollution-control 
program. In line 5610. we see that 
pollution normal (after switch time) is 
S4 and defined in line 2400. By chang- 
ing S4 from one to one-half, we see in 
Figure 3 what happens if, starting in 
1970, the amount of pollution produc- 
ed per person is somehow cut in half. 

To simulate a birth-control program, 
we see in line 5050 that B2 is the birth- 
rate normal (after switch time) and is 
defined in line 21 10. Figure 4 shows the 
result of setting the birth rate equal to 
the death rate beginning in 1970. 

Many other changes can be made in 
this same way by using the descrip- 
tions in lines 5000-6000 to locate where 
a particular variable is to be defined in 
the program, and then modifying that 
line to suit your own assumptions 



regarding that particular variable. 

There are three different sets of five 
variables each whose graphs may be 
produced. The variable A9 in line 1680 
determines which of the three sets of 
variables is to be graphed (see Figure 
5). If you would rather have a list of 
numbers for the variables rather than 
see their graphs, simply change line 
2500 as in Figure 6. 

There are many assumptions made 
in World Dynamics as to the 
relationship between various variables 
within the model. You may change 
these assumptions by changing the 
corresponding DATA statements in 
lines 1240 to 1670. For example, to 
change the way in which you believe 
the death rate is affected by pollution, 
you would alter the values in line 1510. 
It is fairly easy to do this if you first look 
at page 41 of [1] where the assumptions 
made by Forrester regarding these two 
variables are given. With these few 
examples and the program listing, I 
think you will now be able to create 
your own future worlds. 



Ml Forrester. Jay W. World Dynamics Wright- 
Allen Press. Inc . Cambridge. Massachusetts. 
1971 



48 



CREATIVE COMPUTING 















3010 < 


••••••» i860 Bt(2) « 'F6-F008 1 




1890 BK3) * "P2/R3-lIFE EXPECTANCY' 








1021 'A PROGRAH WRITTEN BY JANES L. HuRPHY 


1910 Bl(4> « 'B3/P2-BiRTh RATE' 








1130 >AT CAlIF. STATE COllEGE SAN lERNARBINO 


1910 81(5) • 'G3-CR0NBING RATIO' 








1*4 iIASEIi ON A HOBEt. IV JAY II. FORRESTER 


1920 GO TO 2050 








llSt 'IN 'UORcS BYNAH1CS'. MR16HT-AUEN PRESS 1971. 


1930 N(l> > 8E9 








1160 ' 


1940 N(2) • 2E12 










....... 1950 H<3) = 40 








1181 ! 


19(0 N(4) ■ 2 








1190 'A IESCRIPTION OF UAR1AILES BEGINS AT LINE 5111 


1970 M(5> • 2E10 








1101 > 


1980 IF A9 < 1 THEN 2100 








1111 BIN Y(21). 1(21,11) 


1990 N(l) • 4 








1121 BIN P(51>. C(5) 


2000 N(2) > 20E9 








1141 PRINT "IIORLJ POPULATION NOBEL 9-15-77' 


2011 N(3/ > 4 








11(1 NAT ( • ZER 


2020 01(4) • 4 








1171 NAT Y < ZER 


2030 IKS) • 1 








1180 FOR I « 1 TO 21 


204C I- A9 « 2 THEN 2100 








1191 FOR J = TO 11 


2050 N(l) • 40E9 








1211 REAB J(I.J) 


20(0 mil • 2 








1211 NEXT J 


*.fi7A u( 1 1 i 1 fir, 








1221 NEXT I 


. W V i\ J( * i U V 

2080 N(4) ■ .1 










1231 RESTORE 

1241 REN BRCN FROH CR 


2090 «(5) * 2 
2100 Bl ' .02c 


Grain vs. People 








1251 IATA 1.15, 1. .9. .7. .6. .55. 0.0. 0.8.0 


2110 B2 • .026 


An article in The Wall Street 








12(1 REN BRCN FROH CR 

1271 BATA .9. 1.1. 1'. 1.5. 1.9. 3.1. 0.1. 1.0 


2120 CI > .4E9 
2130 C2 « CI 


Journal (January 20, 1975) reports 








1281 REN FCH FRON CR 


2140 C3 = .2 


that world food production is grow- 








1290 BATA 2. 4.1. .6. .4. .3. .2. 1.0. 0.1.0 
1311 REN BLC FRON CR 


2150 C4 . C3 
21(0 C5 * 15 


ing. It is. USDA supplies the follow- 








1311 BATA 2. 1.3.1. .75. .55. .45. .38, .3- .25. .22. .2 


2171 C( < .3 


ing figures on grain production: 








1320 REN FPCI FRON CIRA 


2180 C7 • .125 


1970 ... 1.11 billion metric tons 








1331 BATA .5,1.1.4.1.7.1.9.2.15.2.2.0.0.1.0 


2190 C8 > .125 


1974 . . . 1.12 








1341 REN POLCH FRON CIR 


2200 Fl > 1 








1351 BATA .05.1.3.5.4,7.4.8.0.0.0.0.0 


2210 F3 * 1 


Thus, grain production in 1974 was 








13(1 REN NREN FRON NR-R 


2220 F4 ■ 1 


10 million metric tons higher than 
in 1970. 








1371 BATA 0.. 15. .5. .85. 1.1. 0,0.0. 1.0 


2230 F5 « 1 








1381 REN OiN FRON NSc 


22H " ' 135E( 








1391 BATA .2, 1,1. 7, 2. 3. 2. 7.2. 9, 1,8, 1.1,1 


2250 01 > .05 


BUT, in the same 5 year period. 








1410 REN NRHft FROH Ml 

1411 BATA 0,1, 1.8.2. 4, 2. 9, 3. 3, 3. (,3.8, 3. 9. 3. 95, 4 

1420 REN CIN FROH HSl 


22(0 62 « .05 
2270 hi « 900E5 
2260 N2 < Nl 


the world produced 355.1 million 
additional people, whose grain re- 








1430 BATA .1,1,1.8.2.4,2.8.3.0.1.1.0.0 


2290 N3 > 1 


quirements each year (at the world 








1440 REN BRNH FROH HSL 

1450 BATA 3, 1.8-i. .8. .7. .(,.53. .5. .5, .5, .5 


2300 N4 > 1 
2310 PI » l.(5E9 


per capita average of 311 kilos), are 








14(0 REH BRHH FROH HSL 


2320 P2 » PI 


not 10 million more metric tons, 








1470 BATA 1.2.1, .85, .75, .7. .7. 0.0, 0.0.0 


2330 P3 « 2(.5 


but 1 10 million more metric tons. 








1480 REN FPN FRON POLR 

1490 BATA 1. 02, . 9, . (5, .35,. 2.. 1.. 05, 0,0, 0.0 


2340 81 « 1 








2350 Rl > .OK 






1500 REH BRPH FRON POlR 










1510 BATA .92. 1.3.2. 3. 2. 4. 8. (.8. 9. 2. 0.0. 0.1 


236 1 Ut « . U 1 « 

2S7w Si s 2E '- 










1520 REH BRPH FROH POLR 


4* v * *< va i It/ 

2380 S2 • SI 


Some have said the earth can 








1530 BATA 1.02, .9. .7, .4, .25, .15, .1.0. 0.0.0 
1541 REH 8LP FROH POLR 


2390 S3 > 1 
2400 S4 > 1 
2410 S5 • 3. (£9 


hold many more people than it now 








1551 BATA 1.04. .85. .(..3. .15. .15. .12, 0,0, 0,1 


has. From the standpoint of room 








15(1 REH IRFH FROH FR 

1571 BATA 0,1, 1.6, 1.9,2, 1,1, 1,0,0,0 


2420 Tl • 1900 
2430 T2 < 2100 


alone this is so but do we want our 








1580 REH IRFH FROH FR 


2440 T3 • 1971 


voyage on earth to be as one on a 








1590 BATA 30,3, 2, 1.4.1. .7. .(..5, .5.1,1 

1(10 REH CFIFR FROH FR 


2450 T4 • 1 
24(0 T5 ■ Tl 


cruise ship or one on a troop ship? 








1(10 BATA 1,. 6. .3. .15. .1.0. 0.0. 5. 0.0 
1(20 REN 6„F FRON FR 


2470 L3 • 5 
2481 N3 > 5 


] \< k .1. Combes, "Some Thoughts on 








1(30 BATA 0.1.1.8.2.4,2.7,1.1.1.0,0,0 


2491 N2 • -1 


Limit! i" Growth," V4 1/ Krimris, \ng 








1(40 REN C10R FROH IIR/RIF 


2510 Nl « T2 ♦ 1 


l.i. 1")7.!. p. 9. 








1(50 BATA .7, .8. 1.1. 5, 2.0, 1,1, 1,0,0 

1((0 REH POlAT FROH POLR 


2510 N2 ■ 20 








2520 PRINT 






1(70 BATA .(.2.5,5,8,11.5,15.5,20.0.0.0.0 


2720 IF Nl < T2 THEN 2780 








1(90 AJ • 1 


2731 FOR I « 1 TO 5 








1(90 ;i « 'pnsjc" 


274IPRINT HIB(CI.I.l)i' REPRESENTS •iBKI)!'--- SCALEB TO'iN(i) 








1700 IF A3 « 1 THEN 1741 


2750 NEXT I 








1711 CI = 'NJIoA' 


27(0 PRINT 








1720 If A3 = I TnEl. 1741 


2770PI'' 0.2 0.4 0.6 0.8 1.0 ' 








1730 CI « 'OFlBX' 


2775PRINT* 0.0'iP! 








1740 CHANGE CI TO C 


2780 IF T5(T3 THEN 28(1 








1750 11(1) » 'P2 - POPJLATION' 


2790 Bl • B2 








17(0 BI.2, » 'hi - NA'jRAi RESOURCES' 


2810 Rl • R2 








1771 BK3) « "S7 - POUUT10R RATIO' 


2810 F4 • F5 








1781 BIC4) = "82 - QUALiTl OF LIFE" 


2820 S3 • S4 








1790 11^5) = 'C2 - CAPITAL INVESTMENT* 


2830 C? • C8 








1810 I' A9 = 1 TuEt. 1930 


2840 Gl • (2 








1810 B«vl) » "FR-RRTERIRL STRNl.Of LIU.' 


2851 N3 • (4 








:820 il.2* = 'US-RUT. RESOURCE uiniE' 


28(0 63 « P2/(F7»P3) 








1830 BK3, « "S^-CRMIWEST. RATIO" 


2870 I • -1 








1840 H(4) » 'G5-CAP. INVEST. RA-.nOS::.- 


2880 X • S3 








1850 Bl<5> « 'C4-CAP.IN.'ES:.A&.rRA;.' 


2890 K • S 








18(0 IF A9 « 2 THEN 1990 


2910 GOSUI 38(0 








1870 Bill) = 'S(-POlLu _ :ON GENERATES' 


2910 GOSUB 38(0 








JAN/FEB 1978 


49 









2)20 60SUI 38(1 


3930 Yd) • 1(1. X; 






2930 X • 2«63 


3940 GO TO 39(0 






2941 ( • 11 


3950 Yd) • 1(1. J) ♦ (X-J)«dd.J)-ld.J-l)> 






295* COS11) 38(1 


39(0 RETURN 






29(0 64 • C2/P2 








2976 GS > G4«C4/C( 
2960 X • 65 


3980 ON A9 GOTO 3985.4040.4100 






3985 vil)»P2 










2990 X • 6 
3000 GOSUl 3860 


3990 V<2> • N2 
4000 V(3) ' S? 


"Stated most simply, if mankind 








3010 X > 64 


4810 V<4< • 62 


is to live in the state of material 








3120 X > 5 


4020 0(5) > C2 










3130 GOSU1 38(0 


4030 GOT04150 


well-being that technology can 








3040 S( • P2»S3»Y<5> 

30S0 IS > 112/111 


4040 1(1) • F8 
4050 U(2) < N( 


make possible, then, given the finite 








30(0 X • 4.1.5 
3070 t • 4 


4060 0(3; < G4 
4070 0(4) < 65 


size and resources of the planet, 








3080 GOSUl 38(0 


4080 0(5) * C4 


there are just too many of us al- 








3090 F2 • G4»(1-C4>»Y(()/(1-C(> 


4090 60T04150 










3100 F8 < F2 /Fl 


4100 0(1) • S6 


ready." 








3110 X • F8 
3120 X • 5 


4110 0(2) • F6 
4120 0(3) • P2'«3 


— Philip Handler, President, Na- 








3130 GOSUl 38(0 


4130 0(4) < 13/P2 


tional Academy of Sciences. Bio- 








3140 K • 10 


4140 0(5- ■ 63 


science, July 1975, p. 425. 








3150 GOSJ1 38(0 
31(0 X ' S 


4150 L6 • 








41(0 L2 * T5 - Tl 








3170 60SU1 38(0 


4170 14 « 12 - lNT(L2/L3.i»L3 






3180 X • 2«F8 


4180 IF l4 (> THEN 4500 






3190 1 • 10 


4190HhT?«C0N:NATP«(32)«P 






3200 GOSUl 38(0 


4280 N2 • H2»l 






3210 X • FS 


4290 IF (N2 - INT(H2/N3'«HJ/ <> THEN «340 






3220 X • 5 


4300 NAT P • CON 






3230 GOSUl 38(0 


4310 NAT P »(45>»P 






3240 N6 • P2«N3«Y(8> 


4330 L( • 1 






3250 6( • P2tr<9'*bl 


4340 FORL1'1T051STEP10:P(U)«124 






32(0 G7 « C2«C7 


434SNEXT LliFOR L1>1T05 






3270 S7 « S2/S5 


4350 14 • INT<S0»UiLl)/H(U)«.5) tl 






3280 X < 17/11 


43(0 IF 14 > 51 THEN L4'S1 






32)0 X > ( 


4370 IF 14 < 1 THEN 1.4 = 1 






3300 GOSUl 38(0 


4380 P(L4) • C(L1) 






3310 60SU1 38(0 


4390 NEXT LI 






3320 GOSUl 38(0 


4400 P(0) • Jl 






3330 GOSUl 38(0 


4410 CHANGE P TO Pt 






3340 F( « Y(4)»Y<2>»YU2>«F4/F3 


44(0 IF l( • THEN 4490 






3350 X • F( 


4471 PRINT TS!' 'iPt 






33(0 X • 4 


4480 RETURN 






3370 GOSUl 38(0 


44)1 PRINT ' SPt 






3380 X > 4«F6 


4500 RETURN 






3390 X • 8 


4510 PRINT •»flTE".*» > OP*.-tlR*."CI , .'CIBF'. 






3400 GOSUl 38(0 


4520 PRINT "POiR". ■OL'.'CR'.'CIR'.'CIRA". 






3410 »3 « P2»R1«Y(10)«Y(13)«Y(1?>»Y<1> 


4530 PRINT , HSL".'FR', , NRFR , .'IR/P - . , lIFE EXP' 






3420 13 ' P2»11»Y(16>»Y(11>«Y(0>»Y(14> 


4540 PRINT 






3430 X < 2*F( 


4550 PRINT T5.P2.N2.C2.C4. 






3440 K«4 


45(0 PRINT S7.B2iG3.G4.GS. 






3450 GOSUl 38(0 


4571 PRINT F8.F(.N5.13.'P2.P2.'R3 






34(0 X • F( 


4S80 PRINT 






3470 GOSUl 38(1 


4590 60 TO 3600 






3480 X « 2»Y(7)/Y<19; 


4600END 






3490 GOSUl 38(0 








3500 X > S7/10 


llMV 






3510 X • ( 








3520 GO SU1 38(0 








3530 S8 ' S2/Y<21> 








3540 G2*tl»Y<7)>Y<3)«YU9'«Y<15> 








3550 IF T5 < HI THEN 3590 








35(0 IF T5 ■ HI THEN 4510 








3570 IF i(T5 -HI) -H2»INT<(TS-U1)/H2>) > THEN 4550 


5001 '3420 13 1R 1IRTH RATE (PEOPLE/YEAR) 






3580 60 TO 3(00 


S010 '2900 Yd) 1RCM URTH-RATE-FROM-CROH11NG MULTIPLIER 






3590 GOSUl 3980 


S020 "3370 Y(16) IRFM 1IRTH-RATE FROH-FuuIp MULTIPLIER 






3(00 P2 « P2 ♦ T4«<13 - R3> 


S030 '3230 Y(ll) IRNM I1RTH-RATE FROM-MATERIAl HUlTIPlIER 






3(10 N2 ' N2 - T4»N6 


5040 '2100 11 1RN 1IRTH RATE NORMAL (FRACTION/YEAR) 






3(20 S2 • S2 ♦ T4«CS( - S8< 


5IS0 '2110 12 1RN1 " ' ■ (AFTER SHITCH TIME) 






3(24 IF S2 > THEN 3(30 


50(0 '3320 Y(14) 1RPH lIRTH-RATE-FROM-PO^uT Urn MULTIPLIER 






3(2( S2 * 


S070 '34S0 Y(18) CF1FR CAPITAL FRACTION INDICATES 1Y FOOIi RATIO 






3(30 C4 • C4 ♦ (T4/C5>»(Y(18)»Y(28)-C4) 


5080 '3640 C2 C! CAPITAL INVESTMENT 






3(40 C2 • C2 ♦ T4.(66 • 67) 


5090 '3(30 C4 CIAF CAPITAl-INVESTNENT-!N-A6RIlUlTURE FRACTION 






3(50 T5 » T5 ♦ T4 


5100 '2140 C3 CIAFI • INITIAL 






3660 IF TS ( <T2 ♦ T4> THEN 2780 


5110 '2170 C( CIAFN ..... NO rhAl 






3(70 PRINT 


5120 '21(0 C5 CIAFT .... 'A1JUST TIHE 






3(80 PRINT 


5130 '32(0 G7 Cll CAPITAL INVESTMENT JISCARJ 






3(90 PRINT 


5140 '2180 C7 CI IN ' ' ■ NORMAL 






37006OTO4(00 


5150 '2190 C8 CI1N1 ■ ■ ■ ■ (AFTER SHITCH UK) 






3850 RED ••••••••••TAKE INTERPOLATION ROuTINE«»"*>«*> 


51(0 '3250 6( Cll CAPITAL INVESTMENT GENERATION 






3860 1 • 1 ♦ 1 


5170 '2250 61 CI6N ' ■ ■ NORMA. 






3670 lFXdTnEN X«G 


5180 '2260 62 CIGN1 ■ ■ • • (AFTER SHITCh TIME; 






3880 i ■ INT<A>*1 


5190 '2120 CI Cll CMMTM, INVESTMENT INITIAL 






3890 IF X<( THEN 3950 


5200 '3170 Y(9> CIM CAPITAl INVESTMENT MUlWlIH 








50 CREATIVE COMPUTINC 













5210 
5220 
5230 
5240 
5250 
5260 
5270 
5280 
5290 
5300 
5310 
5320 
5330 
5340 
5350 
5360 
5370 
5380 
5390 
5400 
5410 
5420 
5430 
5440 
5458 
54(0 
5470 
5480 
5490 
5500 
5510 
5520 
5530 



3490 
2960 
2970 
2860 
3410 
2910 
3400 
3280 
2358 
2360 
3310 
3090 
2200 
2220 
2230 
2920 
2210 
3888 
3300 
3348 
2240 
3188 
3618 
3888 
3858 
2278 
3150 
2298 
2300 
3240 
3610 
'2330 
'2310 



V(28) C1BR ' ' FROM OUftLITY RATIO 

G4 C1R CAPITAL INVESTMENT RATIO (CAPITAL UNITS/PERSON) 

G5 CIRh ' ' 'IN AGRICULTURE 

G3 CR CROUI1NG RATIO 

R3 »R BERTH RATE (PEOPLE/YEAR) 

Yd) 1RCN BEATH-RATE-FRON-CROHBING MULTIPLIER 

Y(17> 1RFII BEATH-RATE-FRON-FOOB MULTIPLIER 

Y110) BRHN BEATH-RATE-FRON-HATERIAL MULTIPLIER 

Rl DRN 1EATH RATE NORMAL (FRACTION/YEAR) 

R2 1RN1 ' • ' (AFTER SNITCH TIME) 

YU3) DRPA BEATH-RATE-FRON-POLLUTION MULTIPLIER 

F2 ECIR EFFECTIVE-CAPITAL-INVESTNENT RATIO (CAP/PERSON) 

Fl ECIRN ' ' NORMAL 

F4 FC FOOt COEFFICIENT 

FS FC1 FOOD COEFFICIENT (AFTER SNITCH TIME) 

Y(2) FCM FOOD FROM CROWDING MULTIPLIER 

F3 FN FOOD NORMAL (FOOD UNITS/PERSON/YEAR) 

Y(4> FPC1 FOOl POTENTIAL FROM CAPITAL INVESTMENT 

Y(12) FPM FOOB FROM POLLUTION MULTIPLIER 

F6 FR FOOD RATIO 

F7 LA LAN) AREA (SBUARE KILOMETERS) 

F8 HSL MATERIAL STANDARD OF LIVING 

N2 NR NATURAL RESOURCES 

Y(6> NREM NATURAL RESOURCES EXTRACTION MULTIPLIER 

N5 NRFR • ' FRACTION REMAINING 

Nl NRI ' ' INITIAL 

Y(8) NRMM NATURAL RESOURCES FROM MATERIAL MULTIPLIER 

N3 NRUN * ' USAGE NORMAL (UNITS/PERSON/YEAR) 

N4 NRUN1 ' ' (AFTER SNITCH TINE) 

N6 NRUR NATURAL RESOURCES USAGE RATE (UNITS/YEAR) 

P2 P POPULATION (PEOPLE) 

P3 PIN POPULATION DENSITY NORMAL (PEOPLE/SB. KILOMETER) 

PI PI POPULATION INITIAL 



NORL) POPULATION MODEL 9-15-77 

P REPRESENTS P2 - POPULATION— SCALED TO .8E 10 

N REPRESENTS N2 - NATURAL RESOURCES— SCALED TO .2E 13 

S REPRESENTS S7 - POLLUTION RATIO— SCALED TO 48 

REPRESENTS 02 - QUALITY OF LIFE— SCALED TO 2 

C REPRESENTS C2 - CAPITAL INVESTMENT— SCALED TO .2E 11 



1900 



1925 



1950 



1975 



8.8 
SC-- 
SC 
S C 
S C 
S C 
S--C 

S c 
s 
s 
s 

IS- 
IS 
IS 

It 
II 

IS- 
IS 

i s 
: s 
: s 



0.4 



0.6 



2080 



2025 



2050 



2075 



S 
.— J. 

S 

s 

s 
s 
-s- 



8.2 

..p — 8 — i-N— — :-- 
:p o : n 

IP Q.N 
IP ON I 
IP IAN I 
-I— P I -NO I 

IP I N 

i p : n o : 

P IN I 
P IN Q I 
-I P-IN- — 0—1 

I PIN I 

: np 8 : 

CI N P B I 
CI Nl PB I 
-IC HI— B : 

I C Nl 6 P 
I C N I 6 P I 

: n i a pi 

C N IB P 
-; C— B IP 

NCI IP 
I N 8 CI IP 
I N a Cl IP 
I NB C 

-,-N-B— -IC I— -P- 

: N a IC IP 

I N B IC IP 

IN B IC IF 

IN B IC 

--N--B IC I— P- 

N B IC IP 

ni a ic ip 

ni a c 

n: a c ip 

-N-l-B CI .P 

N IB CI P 

N IB PI 

N IB C I 

N IB C 

N--8 C 1 P— ! 



0.8 



1.0 



5540 
5550 
5560 

5578 

5580 

5590 

5600 

5610 

5628 

5630 

5640 

5650 

5660 

5678 

5680 

5690 

5700 

5718 

5720 

5738 

5748 

5750 

5"-0 

5770 

5780 

5790 

5800 

5810 

6000 END 

READY. 



'3620 
'3538 
'3520 
•3030 
'3040 
•2371 
'2391 
•2418 
•3271 
'2411 
'3541 
'2958 
•3470 
•3138 
'3330 
'2348 
•2420 
•2438 
•2440 
•2450 
•2460 
•3980 
'1938 
•2478 
•2480 
•1688 
'2500 
'2510 



S2 POL POLLUTION (POLLUTION UNITS) 
S6 POLA POLLUTION ADSORPTION (POL. UNITS/YEAR) 
Y(21) POLAT ' ■ TIME (YEARS) 
Y(S> POLCN POLLUTION FROM CAPITAL MULTIPLIER 

POLG POLLUTION GENERATION (UNITS/YEAR) 

POLI ' INITIAL 

POLN POLLUTION NORMAL 

POlNI ' ' (AFTER SNITCH TIME) 

POlR ' RATIO 

POLS POLLUTION STANDARD (POl. UNITS) 

BL BUALITY OF LIFE (SATISFACTION UNITS) 

BLC BUALITY OF LIFE FROM CROND1NG 
Y(19) BLF BUALITY OF LIFE FROM FOOD 
Y(7) BLM BUALITY OF LIFE FROM MATERIAL 
Y(15) OLP BUALITY OF LIFE FROM POLLUTION 

BLS BUALITY OF LIFE STANDARD 

INITIAL TINE (IN CALENDER YEARS) 

ENDING TINE 

SNITCHING TIME 

CHANGE IN TIME (ONE YEAR) 

TINE 

1-TH VARIABLE FOR PLOT 
I-TH VARIABLE SCALE 



S6 
SI 
S3 
S4 
S7 
S5 
82 
Y(3) 



4141 V(I) 
2098 N(I) 



L3 FREBUENCY OF PiOT 

A3 FREBUENCY OF DATES IN PLOT 

A9 NHICH OF THREE GRAPHS 1 2 

HI MINIMUM PRINT TIME 

N2 PRINT FREBUENCY 



OR 3 



2270 Nl ■ 1800E9 I TO SEE HHAT HAPPENS IF HE DOUBLE NATURAL 

RESOURCES AVAILABLE. IN YEAR 1900 

RUNNH 

HORLD POPULATION MOBEL 9-15-77 

P REPRESENTS P2 - POPULATION— SCALEB TO .8E 10 

N REPRESENTS N2 - NATURAL RESOURCES— SCALEB TO .2E 13 

S REPRESENTS S7 - POLLUTION RATIO— SCALEB TO 48 

B REPRESENTS 62 - BUALITY OF LIFE— SCALED TO 2 

C REPRESENTS C2 - CAPITAL INVESTMENT— SCALED TO .2E 11 



O.I 
1901 SC- 



0.2 
-P— 

IP 
IP 
I P 
I P 



0.4 



0.6 



0.8 



1.8 



a: 
s 



1925 



1950 



1975 



2111 



2825 



2150 



2075 



2111 



PI 



sc 
s c 
s c 
s c 

S-C 1— 

S C I 
S C I 
S C I 
S C I 

S C— ;-- 

S C I 

S C I 

S CI 

s c 
s IC- 

S I c 

s i c a 

s i c : a 

s i c i a 

-s i c-i-a- 

S CIS 

s : ec 
si bi c 

SI 6 I C 
SI 8-1 

.5 a : 

I SB 

i a si 

IB I 



N 
N 
N 
N 
-N— 
N 
N 
N 
N 



P I N 

PI N 
IP N 

I-P N- 

I P N 
P N 

N 
N P 
C— I— N--P- 
N P 
C I N P 
CIN P 



I S C P 

— I NPC--S-- 

IP NC 

I C I 
. 

I C N 18 
-P— —I— IC SN-I 

P SI c 

C I N I 

c: n ; 
i ■ 
C--I 1— I 



BP 

P 



S P 
S P 
S P 

-s— 



Figure 1 



Figure 2 



JAN FEB 1978 






51 









-. - 1800E9 

2400 34 = .5 SIMULATE PORTION CONTRBL PROORAH BY SEDUCING 
POLUTION PRODCEJ PER PERSON TO V2 MHAT IT K0UL1 IE BEFORE 1970. 

RlMT 

UORlS POPULATION PIODEl 9-15-77 

? REPRESENTS P2 - POPULATION— SCALES TO .8E U 

N REPRESENTS N2 - NATuRA^ RESOURCES— SpSLEJ TO .2E 13 

S REPRESENTS S7 - PG^JTION RATIO— SCAiEB TO 41 

3 REPRESENTS 02 - 8UALITY OF lIFE— SCALED TO 2 

C REPRESENTS C2 - CAPITAL INUESTNENT— SCALEB TO .2E 11 



2110 32 = .014 I SlfljLnTE V.k'.n CONTROL PR06AAN BY SET 
RATE Eiuiv Til JEn | YEAR 1970. 

Re«b, 

mOS.: population hoiel RIS- 



ING BASIC BIRTH 



P REPRESENTS P2 
N REPRESENTS N2 
S REPRESENTS S7 
a REPRESENTS 02 

c represent; :: 



POPULATION— SCALED TO .8E 1» 
NATukAl RESOURCES-- SCALED TO .2E 13 
POLLUTION RATIO-- SCAui TO 40 
OUAlITY OF LIFE- . rO 2 
CAPITA.. I.NJEST.lEfi"--- iCA^ED TO .2E 11 



0.0 0.2 0.4 

1900 SC P .-- 

SC ? ! 

s c ;? a; 
s c . P » 
s C , P IS 
1925 S-C ,-P ,-Q 



0.6 



1975 



2011 



2025 



2151 



2075 



2100 



0.8 1.0 
-N— 

N 
N 
N 
N 



S C 

S C 
3 C 
1950 .S----C-- 
,S C 

s : 

s 

s 

s 

s 

s 
s 

s 

s 

s 

s 

s 
-s 



a 
a 

8 — 

8 

p a 
p a 
p a 
— a— ■ 
a p 
a ? 
a 
a 

a 

ca 
ac 



: a 
: a 
: a 



:a 
,a 
:a 
:a 
-:a- 



-N- 

'. 

:. 

N 

:. 



P N 
-P— N- 
P N 
PN 
N P 
N P 

— N i 

N 
I 
CN 
NC 



1900 



1925 



0.0 
SC- 

SC 

s c 

S 



:)%: 



1975 



2001 



2123 






2073 






C 

c 



s 
s 
s 
s 
-$- 



5 



0.4 

-.- N 

. 

a: n 
a n 
ltd 

-;-N8 

. N a 
: n a 
:n a 
a 

— 3- 

e 

NP . 

n p a 
< po 
c n:— p— e- 

c 

N , P 
P 

c n ; p 
c — ; — ?— 

. 
N : 

N 

c 
-.'. :c 

N 

. 



c a 
ca 



p 
p 

-8- 

BP 

: 

P 



SN 

SN- 

S N 

. 

S N 



BC 

BCI- 

ac . 



Figure 3 



Figure 4 



1.0 




Gene Basset, Scripps Howard Newspapers 



52 



CREATIVE COMPUTING 





ttlES 1)2. OR 3 2500 til ■ 1900 ! 
, " 1 " Rioir 

HWHN 

UORLB POPULATION 1 

BATE POP 

NSL FR 

1900 .16 

.555556E-1 .61 

"•2 1.0 .277056 1.0 


TO PRINT UALUES RATHER THAN GRAPHS 

0BEL 9-15-77 

NR CI 
CR CIR 
NRFR BR/P 

5E 10 .9E 12 .4E 9 
1596 .461216 .242424 
3861 1 .318735E-1 

6U6E 10 .88628E 12 .889143E 9 
9049 .548192 .453377 
0128 .984756 .315628E-1 

3342E 10 .859044E 12 .171298E 10 
1171 .708153 .676155 
8527 .954494 .297325E-1 

8022E 10 .811839E 12 .298576E 10 
0748 .916902 .910233 
0869 .902044 .270773E-1 

307E 10 .740856E 12 .466868E 10 
8059 1.15463 1.13024 
7254 -174 .253664E-1 

2579E 10 .646852c 12 .658197E 10 
1284 1.40483 1.30964 
6456 .718724 .238568E-1 

5544E 10 .544299c 12 .805598c 10 
5776 "568 .-475 
0777 .604777 .230056E-1 

3121E 10 .451767E 12 .358396E 10 
1151 -oil MM 
1912 .501964 .235889E-1 

J575E 10 .377586S li >E 10 
1381 1.45514 1.57966 
>657 ...>54 .024964 

322E 11 .iililA .1 .' - 
.037 
.358689 

M 

1.22819 
047 52E-1 

Figure 6 


Clflf 

CIRA 
LIFE EXP 

.2 

.161616 

36.7659 

.21521 

.325233 

51.2495 

.22909 

.516334 

61.0276 

.258357 

.783863 
67.3233 

.295855 
...1*63 
70.9236 

.321481 
1.40341 
62.9535 

.331894 
1139 

47.2273 

-77 
M9 

i7i 

,.57844 
; J6 

:68 




1920 .19 
B .161558 .85 

.503645 1.1 

.314741 1.0 
.724319 1.0 
1 

3 11 1960 .32 


. 3 
3 
j ~- 


.907703 1.0 

1980 .41 
1.1492 .93 


j 

G r 


2000 .50 
2.25276 .78 
1.02345 .96 


> BO l 

- 

- X 


2020 .55 

3.74293 

.893431 .94 

4.90884 .53 
.755169 .95 

2060 .52 

-. ! 4.77267 .49 

.612091 .96 

3.52549 


r 

r 
G — ft 1 — F X 

Figure 5 


2.; .41 

.355871 .97 






% BVTE SHOP J 

M36UMWI A*. SYSTIMS 
IJjF SonJot.f-.9VM SOMWAH 
|J^ MM] 377-4M5 UtVKi 


_C uKm 


COMPUTERS PLUS 
INC. 

678 S. Pickett St. 
Alexandria, VA 22304 

Ask for Bob or Dan. 
Northern Virginia's 
Newest and Finest 
Microcomputer Store 

(703) 751-5656 










OXFORD WANTS YOU 

If you're ambitious, creative, and tired 
of the same old stuff, openings are 
currently available in development, 
support, documentation and sales of 
OXFORD 370 DOS/VS and OS/VS 
systems software products. 
All salaries, compensation, and 
benefits top-notch, and based on 
ABILITY ONLY. 

Call collect 201-288- 1515 and ask for 
Justin Spring. 






53 




JAN/FEB 1978 





puzzles & problems 



Debugging the Raise 

New program debuggers are paid $10,000 per year at 
Microbug. Inc. Every six months there is a salary review 
and good debuggers get a $400 annual raise. Now 
management has proposed that the salary review occur 
annually, and that good debuggers get an annual increase 
of $850. Good for the employees or the company? Why? 

DHA 



Cubiquiz 



Here is a number: 94217. (a) Drop one digit and rearrange 
the others to produce a perfect cube, (b) Drop another and 
rearrange to give another perfect cube, (d) Do the same 
again. Games 4 Puzzles 




Perfect Rectangle 



The reproduction is of a painting titled "Perfect Rec- 
tangle" by Mary Russell. The underlying idea is mathe- 
matical. A not-quite-square rectangle has been divided 
into the minimum number of squares that will fill its 
entire area, making it a "perfect" rectangle. 



Write a program to determine for any rectangle with 
dimension L and W the minimum number of squares 
that will fill its area. 

CAUTION! This rather innocent problem is not that 
easy to solve! 

54 CREATIVE COMPUTING 



FOR ALL CUSTOMERS EXCEPT CALIF. CALL TOLL FREE 800-421-5809 

oooeoeoooe o oecoco o ooeo60 ooooeooeoeoeocecceeocooccooycocoeooosgoo^ 

MICROCOMPUTER 



MICROPROCESSOR! 



ft 

;«> 

2 MA 

cortaoxo 

AM3901 

6S02 

6*00 

•0011 
8080A 
TMS9900TI 

HMSUfPONT 
6810P 



IS 94 
2ft 00 
36 00 
MM 

nn 

1?9S 
1995 
8 7ft 

159ft 

»• N 



SUPfORT DEVICES 



SB .'He 
«834t> 



68S2» 
«B60P 

686 ?e 



49ft 

9 00 
II ?5 
16 9ft 

99ft 
119ft 
14 9ft 
179ft 

7 70 



ZIO SUPPORT DEVICES 



8?i? 
*;i4 

8216 
8224 
8228 
8738 

8251 
H.'-jt 
B2Sft 

82ft; 

82ft9 



3 9ft 
99ft 
460 
496 

a n 

800 
1700 
28 00 
1200 
26 00 
2ft 00 



CHARACTER 

GENERATORS 
261 3 UP fc M 

7*13 OOwr* 
261 3 UP Iftvl 
M13 D04VNI9 
MCM66M 
MCM65MA 
MCM6672 
MCM6ft74 
MCM6676 



6 7ft 
9 96 

1080 



1080 
14 76 
14 76 



PROMS 

1702A 

2704 

2708 

2716 

3601 

6203AQ 

6204AO 

6834 

683* 1 



600 
16 00 
MOO 
38 00 
460 
400 
6 00 
16 96 
1496 
400 
2 70 



t I SUPPORT DEVICES 



3861 
3863 



STATIC RAMS 

21102 14601 

21102 12601 

2ILII 

IIOIA 

2101 1 

2102 

210? I 

7111 I 

2112 I 

2114 

42O0A 

6I0IC t 



114 

I 60 
196 
476 

I 49 

296 

I 26 

160 

400 

300 

1796 

1796 

II 96 



ISH 

I 40 
I SO 
4 10 

1 29 

2 76 
I 16 
I 30 
360 
780 

16.96 
12 60 
II 26 



IN 

I 26 
160 
3 96 
I 10 
260 
100 

1 16 
3 26 

2 69 
16 60 
II 96 
10 26 



DYNAMIC RAMS 



KEVIOARD CHIPS 
AV52376 1396 
AV6 36O0 13 96 



WAVEFORM GENERATOR 

8038 4 00 

MC4024 2fio 

ftfttt 17ft 

LATE ADDITIONS | HOPfV OISC CONTROLLER 

TMS 4044 
TMS 5501 



t1400 
24. 



95 



1103 

2104 

2107A 

21078 

21076 4 

rilflOBfl 

IMS4U«) 

4096 

4116 

MWft2 70 

MM! Wl 

MTMan 

UART'S 

AV6 101 JA 
AV6 I014A 
TH 1602* 
TMS 6011 
IM6402 
IM6403 



1 60 
460 
3 76 
460 
400 
460 
460 
460 
42 00 
600 
600 
600 



ft 6C 

896 
ft60 
696 
10 80 
■ 80 



MISC 

OTHER COMPONENTS 
1 70 
760 
360 
7 46 
90 
90 
1 9ft 
1 9ft 
700 
39ft 
600 
4 96 
760 

1 90 
290 

2 76 
2ftO 
260 
260 

90 
90 



NHOOZM \ 
N8T20 
N8T26 
'4367 

1488 

1489 

O 3207A 

C 3404 

P 3408A 

P4201 

MM 6370 

MM 5369 

DM 8130 

DM8131 

DM8831 

DM 8833 

DM4X36 

SK74LS36' 

SN74LS368 

KIM 



KIM 1 
6602 
6620 
6622 
6630 007 
6530 003 
86304KH 
6530 0O5 



JADE VIDEO INTERFACE KIT 

FEATURES $QQ g 

S-100 Bus Compatible 

32 or 64 Characters per line 

16 lines , 

Graphics (128 x 48 matrix) 

Parallel & Compositive video 

On board low-power memory 

Powerful software included for 
cursor, home, EOL, Scroll Graphics/ 
Character, etc. 
Upper case, lower case & Greek 

Black-on-white & white-on-black 



745 00 
1296 
900 
926 
15 95 
1596 
1696 
1596 



MOTHER BOARD 

• 13 SLOT MOTHER BOARD w/front 

panel slot 

• S-100 DESIGN 

• FULL GROUND PLANE ON ONE SIDE 

• RC NETWORK TERMINATION ON 

EVERY LINE EXCEPT PWR & GRD 

• KLUGE AREA 

• STRONG 1/8" THICK DOUBLE SIDED 

BOARD 

BARE BOARD $35.00 KIT $85.00 



PERSCI DISK DRIVE FOR S-100 

COMPLETE 
Info 2000 S-100 DISK SYSTEM 
(includes dual drive, power supply, case, 
intelligent controller adapter, cables, and 
disk monitor on EPROM) *.. ccn nn 

COMPLETE TDL SOFTWARE 

PKG. FOR DISK $195.00 



REAL TIME CLOCK FOR S-100 BUS 

BARE BOARD $30.00 KIT $124.96 



JADE PARALLEL/SERIAL 
INTERFACE KIT 

$124.95 KIT 
5 PORTS 

2 PARALLEL/2 SERIAL 
1 CASSETTE 



EDGE CONNECTORS 

S-100 Altair Spacing $4.45 
S-100 Imsai Spacing $4.45 



THE PROM SETTER 

WRITE and READ 
EPROM 

1702A-2708-2716 
5204-6834 

• I'lutis Uutxflv inr,, v"ii A.I TAIN IMSAI ( MtpoMf 

• ImHmIm M4in Module Board -md Elltfml M'HOM 

' I ml 

• I he EPROM Bocfctl I'nn is ronnnlH le the Om 
pult>r fhrmigh i .'*, Pin CofMWCtOf 

• f'f..j((..nimin8 II KCttMplMllfd hy ihf ( t.mpuOr 

• |Mtl K>m| in it,,. P n i tu i (o be Wr.ll*>n on th*> 
M'RllM inln vour P cores sot Ami lei the Computer 
do the retl 

Ml In He*d EPftl »M s ( ..ntenls into 

npulvr 

• iff mi lodeH 

• •'■rn^l Power Supplies Your Computer dJMN 
it 4M 

• leouMei .is ..n Eifthl Bit ParatWI I O 



THE PROM SETTER 
KIT ASSEMBLED 

$210.00 $375.00 




A CAPABLE LOW 
COST APPROACH TO 
REMOTE ViOCO 
DISPLAY TERMINALS 

rtM I k > Mr, I iiiKdKd 

• •»■-.' i • e, i ,,i ; ■'..!•,<! 

■ i mt • *»») f • - * i •••• vi»- j#<i 

• * Mr*t)t*k4* Cuiloi »l4>"T»nJ 

• twifen W-4-ci.4.« * .**«<•< ■■••on 
'torn 7*. to if, JX ttvt Manwra) 

■ CrniiMnKi:,..! MotM 

HO* eOl -* 

• wui»<ti Pi«nt*< i»>«h1m. 

• *tl)3C inMHrtjK* 

• loft GH" HvfMl Out hi ■••>*. 

• e, vl4< i M.«e Sij-mm.1 

• ttt il*-l<J»'Ct 



$975 00 

Assembled 
Puce Includes 

• Block Mode 

• Lower Case 

• 24 Line Option 

• and shipping 
charge is on us. 



8K STATIC RAM BOARD 



ASSEMBLED & TESTED 



250ns. 
450ns. 



$199.95 
$150.00 



* WILL WORK WITH NO FRONT PANEL 

* FULL DOCUMENTATION 

* FULLY BUFFERED 

* S100 DESIGN 

* ADEOUATELY BYPASSED 

* LOW POWER SCMOTTKY SUPPORT IC S 



250ns. 
450ns. 



KIT 



$169.95 
$129.95 



BARE BOARD $25 00 

W/SCHEMATIC H* fc *»»-WJ 



A PA P J»XPUPL MOTOROLA 6BQQ 
•VaTTEM TO OUR 8-100 8 K RAM 
BOARD. KIT PRICE $12 95 



IMSAWALTAIR b~100 COMPATIBLE 

JADEZ80 

-with PROVISIONS lor K| 

ONBOARD 2708 and POWER ON JUMP 



(2MHZ) 



$135.00 EA. 
$149.95 EA. 

BARE BOARD $35.00 



(4MHZI 



JADE 8080A KIT 
$100.00 KIT 

BARE BOARD $35.00 



TU-i 



VIDEO INTERFACE 



You will want to know about the TV-1 Video 

to Televisior Interface Kit. 

No need to buy a separate Video Monitor if 

you already own a TV set. Just connect the 

TV-1 between your system video output and 

the TV set antenna terminals • that's all there 

is to it - to convert your TV set to a Video 

Monitor, and at a much lower cost! PRIPP «tft Qt» 




Computer Products 



5351 WEST 144th STREET 

LAWNDALE CALIFORNIA 90760 

12131 679 3313 

RETAIL STORE HOURS M-F 9-7 SAT 9 5 
Discounts available at OEM quantities Add SI 25 
tor shipping California residents add 6% sales tax 

1978 CATALOG NOW AVAILABLE 



puzzles & problems 



Bionic Toads 

We have been training six bionic toads to do a new trick. 
When placed on seven glass tumblers, as shown below, 
they change sides so the three black ones are to the left 
and the white ones to the right, with the unoccupied 
tumbler at the opposite end— #7. They can jump to the 
next tumbler (if unoccupied), or over one or two toads to 
an unoccupied tumbler. The jumps can be made in either 
direction, and a toad may jump over his own or the 
opposite color, or both colors. Four successive sample 
jumps will make everything plain: 4 to 1 , 5 to 4, 3 to 5, 6 to 3. 
Can you show how they do it in 10 jumps? Can you writea 
program to solve the problem? 




A man rarely succeeds at anything unless he 
has fun doing it. 



Programming Problem . . . 

SATURDAY NIGHT 
TENNIS SCHEDULE 

Given: 

6 tennis courts 

6 time periods (45 minutes each) 
18 couples 

Objectives: 

• each couple plays together once (1st time period) 

• each person plays four times, sits out twice 

• each person plays one men's (women's) doubles 
match once; 3 mixed doubles matches. 

• each person should not play with or against the 
same person more than twice. 

The task: 
Develop a schedule that meets the objectives, and also 
optimizes each individual's personal schedule. (Opti- 
mum means no more than two plays back to back) 
It's also nice to have both members of a couple arrive 
and leave together — schedules permitting! 

The task minus one: 
What do you do if one couple doesn't show up? 

Furthermore: 
How about a general program for N courts, M time 
periods and C couples. 



The 

Mechanical 

Man 



Ken Lebeiko 



The mechanical man is designed as a beginning 
exercise in flowcharting. If you're learning programming 
on your own, try the mechanical man flowchart; even 
experienced people will have fun with it. If you're teaching 
flowcharting or programming, follow the steps below and 
it will be an exciting experience for both you and your 
class. 

1 . Copy the handout on the facing page, give it to your 
class and explain the problem. Keep it simple; state there 
is a clear path to the wall. An example may help: simply put 
a chair about six feet from the wall in the classroom. 

2. Take the first few flowcharts done (make sure they 
aren't perfect) and ask the students to place them on the 
board. This will allow the slower students to get a general 
idea of what is to be done. 

3. Work through the flowcharts without counters first. 
Before starting those flowcharts with counters, draw a 
counter and put a number in it (87). This is to show the 
effect of not clearing a counter in a program. Don't make a 
big thing of this; just say it was left from the last program. 
Everyone will see the results later. 

4. Now have the student whose flowchart you are 
working with become the mechanical man. Use a pointer 
and instruct the student, following every detail of his 
flowchart. As the student or class see errors, don't let them 
change the flowchart. 

Ham it up; play it for all its worth. The class will have a 
good time and really learn a lot. 

Common things to happen are: people forget to turn 
twice and walk off somewhere else, or they forget to turn 
before sitting and end on the floor, and lots more— the list 
is long. 

5. Before the students get tired of the problem, tell them 
to work in groups and test each others flowcharts for the 
perfect one. 

6. Toward the end of class ask who has the "perfect" 
flowchart and have him put it on the board. 

7. Have a member of that group sit in the chair, but move 
the chair right against the wall, leaving only enough room 
for the student's legs. 

This is called a special case. Discuss whether or not the 
flowchart will still work and what could be changed to 
make it work. This case could be used for homework. You 
can tell the students to get their families involved by 
having a parent become the mechanical man 

8. Another special case is placing the chair one step 
from the wall. Give this case as homework too. It 
demonstrates that it is very difficult to get an all-purpose 
program and that some special Cases must be allowed for 
separately. 

The author woukJ like to invite any teacher with other 
ideas for teaching programming or flowcharting to share 
them with him (and usat Creative too!). Write Ken Lebeiko, 
Lockport Central HS, Lockport. IL 60441. 



56 



CREATIVE COMPUTING 



The Mechanical Man 



A mechanical man is sitting on a chair, facing a wall a 
short distance away. Draw the flowchart of the procedure 
to have the mechanical man walk to the wall and return to 
his initial position. 

Permissible flowcharting symbols are: 



Start the procedure. 



i 





Raise arms straight 
out. 



Lower arms. 



TURN 

T 



1 



STAND 



1 



SIT 

T 





Turn 90° to the right. Stand up. 



Sit down. Take one step. Set the counter Stop the procedure. 

to zero. 






Add 1 to the counter. Subtract 1 from the Test for touching wall. Arms must 
counter. be straight forward to activate the 

finger-contact units. 




Test if counter is zero. 



JAN FEB 1978 



57 



Part IV, the conclusion of this series, examines ABS, SQR, REM, 
GOSUB, and the mysterious DEF FNX. 



THE 8- HOUR WONDER 

All About BASIC Programming 

in One Long Day 

(or Eight Short Nights) 



Thomas A. Dwyer 



2.7 HOUR 7: PROGRAMS TO HELP 
MOM AND DAD PASS ARITHMETIC 102 

Very few people who have "taken" a 
foreign language in school are fluent in 
its use. Little children from countries 
where that language is spoken do a lot 
better, and with far less fuss. The same 
is true of the "languages" of 
mathematics and science. Achieving 
fluency in their use is much easier in 
settings where they are spoken 
regularly. 

Personal computers make it possible 
to create such settings in some very 
interesting ways. One of the best 
involves computer game programs, 
and there's an entire chapter on games 
coming up. In this section well help 
prepare the way by explaining some of 
the techniques used in writing 
number-oriented games. 

ABS(X) is a function 
that "processes" X in a 
very simple manner. It 
merely changes the 
sign of X to +. This is useful when we 
want to check how close some INPUT 
data supplied by the user comes to 
another value (say, the one the 
program expects). The ABS (absolute 
value) function helps by giving the 
"distance" between the two numbers. 
For example: 

ABS(8 - 5) = 3 
ABS(5 - 8) = 3 
ABS(5- 2)= 3 
ABS(2 - 5) = 3 
As you can see, ABS tells us that in all 
of these cases, the distance between 
the number is 3. Here's an example 
using this feature: •>» 



ABS 




• Copyright 1977 by Thomas A. Dwyer. University 
of Pittsburgh, Pittsburgh. PA 15260 



3 RANDOMIZE 

5 FOR K»l TO 3 

10 LET R - INTC10 • RNDCO) ♦ 1) 

20 PRINT "PICK A NUMBER FROM 1 TO 10' 

30 INPUT N 4- 

40 IF R » N THEN 1 1 

SO PRINT "NO, YOU MISSED BY"iABS<N - R)< 

bO PRINT "TRY ONE MORE TIME. NUMBER IS" 

70 INPUT N 

SO IF R • N THEN 1 10 

90 PRINT "YOU BLEW IT. THE NUMBER WAS';R 

100 GOTO 120 

110 PRINT "RIGHT! I I" 

120 NEXT K 

130 END 



RUN 

PICK A NUMBER FROM 1 TO 107 5 

NO, YOU MISSED BY 3 

TRY ONE MORE TIME. NUMBER IS7 o 

RIGHT! I ! 

PICK A NUMBER FROM I TO II? 14 

NO, YOU MISSED BY 7 

TRY ONE MORE TIME. NUMBER IS 7 <S 

RIGHT! ! ! 

PICK A NUMBER FROM 1 TO 107 10 

NO, YOU MISSED BY 2 

TRY ONE MORE TIME. NUMBER IS? 

Rl GHT ! ! ! 




WITH THESE CHOICES \ 
YOU CAN ALWAYS GET - 
IT ON THE 2«» CHANCE. 



58 



CREATIVE COMPUTING 



Another use of ABS is for accepting 
input that is "close enough" even 
though not exactly the number 
expected. The art of getting such 
"ball-park" estimates is seldom taught 
in school, yet it's a valuable one. Here's 
an example of a program for practicing 
this: 



Notice that we used two kinds of 
"error" formulas in this program. The 
absolute error E = ABS(A - C) gives 
the absolute value of the difference 
between the correct answer and the 
approximate answer, while the relative 
error E/C shows the ratio between this 
difference and the correct answer. 

Why make this distinction? Well 
suppose you were a contractor who 
made a bid that missed the true cost by 
$1000. How serious is this? It all 
depends. If you take two extreme 
cases, you'll see why. 



Case 1 : 

True cost 

Your bid 

Absolute error 

Relative error 

Percent error 



Case 2: 

True cost 

Your bid 

Absolute error 

Relative error 

Percent error 



$50,000 
$49,000 
$ 1,000 
1000/50000 = 
2% 



$ 2,500 
$ 1,500 
$ 1.000 
1000/2500 = 
40% 



02 



The absolute error was the same in 
both cases. It's the relative error that 
shows which one is a disaster. (Percent 
error also shows this, since it is merely 
relative error multiplied by 100.) 

ABS is also handy in making sure 
that an input response is as requested. 
Here's one way this can be done: 



If you want to be more explicit in your 
error messages, statement 40 can be 
replaced by two tests: 

40 IF A < 50 THEN 140 

45 IF A > 100 THEN 142 



140 PRINT "TOO SMALL!" 

141 GO TO 145 

142 PRINT "TOO LARGE!" 



LIST 



3 RANDOMIZE 

5 FOR K - I TO I 

10 

iO 
30 

40 
50 



- INTC4000 • RND(0> * 1200)/I00 

- INTC1000 • RNDCO) ♦ 500)/100 
« INTO00 • RNDCO) ♦ 300)/IOO 
» INTC9 • RNDCO) ♦ I ) 

•APPROXIMATELY HOW MUCH SHOULD YOU BUDGET" 
"FOR A TRIP OF-;D;"DAYS IF--" 



HOTEL COST PER DAY 
MEAL COST PER DAY 
INCIDENTALS PER DAY 

* I) 



1H 
IM 
II 



LET H 

LET M 

LET I 

LET D 

PRINT 
55 PRINT 
60 PRINT 
70 PRINT 
80 PRINT 
90 INPUT 

10 LET C =■ D • CH ♦ M 
110 LET E ■ ABSCA - C) 
120 IF E/C < .10 THEN 160 
130 PRINT "YOU MISSED BY *"lE 
140 PRINT "YOU WERE OFF BY - J CE/C > • 1 ; "*" 
150 GOTO 180 

160 PRINT "VERY GOOD. Y.OU WERE OFF BY S (E 
170 PRINT "THAT WAS AN ERROR OF ONLY" ( CE/C )•! 1 * 
180 NEXT K 
190 END 



RUN 

APPROXIMATELY HOW MUCH SHOULD YOU BUDGE" 
FOR A TRIP OF 5 DAYS IF-- 

HOTEL COST PER DAY » i 42.84 

MEAL COST PER DAY - i 12.81 

INCIDENTALS PER DAY - i 5.25 
7 60 

YOU MISSED BY i 244.5 
YOU WERE OFF BY 80.2956 * 

APPROXIMATELY HOW MUCH SHOULD YOU BUDGET 
FOR A TRIP OF 3 DAYS IF — 

HOTEL COST PER DAY » * 15.12 

MEAL COST PER DAY - i 7.0 3 

INCIDENTALS PER DAY • i 4.54 
7 76 

VERY GOOD. YOU WERE OFF BY » 4.0 7 
THAT WAS AN ERROR OF ONLY 5.0830 5 * 
APPROXIMATELY HOW MUCH SHOULD YOU BUDGET 
FOR A TRIP OF 5 DAYS IF-- 

HOTEL COST PER DAY - * 50. £i 

MEAL COST PER DAY » * b.36 

INCIDENTALS PER DAY * i 4.<>3 
7 320 

VERY GOOD. YOU WERE OFF BY i 6 
THAT WAS AN ERROR OF ONLY 1.91083 « 
APPROXIMATELY HOW MUCH SHOULD YOU BUDGET 
FOR A TR-C 




THIS SHOULD HAVE BEEN 
PONE MENTALLY USIN6 
M3-fl3*S = t1 *S"30S~. 




LIST 

10 PRINT "TYPE A POSITIVE INTEGER BETWEEN 50 AND 100. 

20 INPUT A 

30 IF INTCA) <> A THEN 120 

40 IF ABSC75-A) > 25 THEN 140 

50 PRINT "YOU HAVE OBEYED A COMPUTER." 

60 PRINT "THERE IS NO HOPE." 

70 STOP 

120 PRINT 



•THAT'S NOT AN INTEGER. 



130 GO TO 10 



OUT OF REQUESTED RANGE." 

READ THE INSTRUCTIONS CAREFULLY. 



140 PRINT 

145 PRINT 

150 GO TO 10 

160 END 

RUN 



TYPE A POSITIVE INTEGER BETWEEN SO AND 100. 

7 25 

OUT OF REQUESTED RANGE. 

READ THE INSTRUCTIONS CAREFULLY. 

TYPE A POSITIVE INTEGER BETWEEN 50 AND 100. 

? 7.5 

THAT'S NOT AN INTEGER. 

TYPE A POSITIVE INTEGER BETWEEN oO AND 100. 

7 75 

YOU HAVE OBEYED A COMPUTER. 

THERE IS NO HOPE. 

STOP at 1 lne 70 



JAN FEB 1978 



59 







We'll finish this section 
with a math-game 
program that uses the 
square-root function 
of BASIC. SQR(X) processes the 
number X by finding its square root and 
"returning" this value in the place 
where SQR is used. (The square root of 
X is a number which when multiplied by 
itself gives X. This means you must use 
positive numbers for X. Otherwise 
you'll get an error message.) 



• INK 1 00«RND< 0) * 1 ) 

"WHAT IS THE SQUARE ROOT OF";R 



LIST 

5 RANDOMIZE 

10 LET K - 

20 PRINT "TO WIN THE GOLD STAR YOU NEED 3 ANSWERS IN A ROW" 

25 PRINT "THAT HAVE LESS THAN 5* ERROR." 

30 PRINT " 

SO LET R 

60 PRINT 

70 INPUT 

80 LET C • SQR(R) 

90 IF ABSCA - O/C < .05 THEN 130 

100 PRINT "NOT TOO CLOSE. SQUARE ROOT OF ";R; - 

105 PRINT "YOU MISSED BY" 1 1 0*ABS C A/C- 1 ) i " X " 

106 PRINT 

110 LET K • 

120 QO TO 50 

130 PRINT "NOT BAD--YOU ONLY MISSED BY" I 1 0»ABS ( A/C- 1 ) 1 " * " 

135 PRINT "SQUARE ROOT OF "(Rj"IS";C 

136 PRINT 

140 LET K = K ♦ 1 

150 IF K < 3 THEN 50 

160 PRINT "THAT'S 3 IN A ROW! ....." 

170 PRINT " PASTE STAR HERE-- • •" 

175 PRINT " ...... 

180 END 



IS" (C 



Example: 

10 LET X = 25 ^lf the number 25 is supplied 

20 PRINT X, SQR (X) to the SQR function. 

RUN * 

25 5 The number 5 is "returned." 
Here's a game program to practice 
estimating square roots: 



Notice that the user had to supply an 
answer within 5% three times in a row 
before getting the "gold star." 

For a really fiendish game, make the 
5% a variable that gets smaller each 
time. Start with V=05. and then make 
V=.7*V each time around. 




IBM stands behind Creative Computing. (Bob 
Taylor of Columbia University Teachers College 
at a recent Paris meeting.) 



TO WIN THE GOLD STAR YOU NEED 3 ANSWERS IN A ROW 
THAT HAVE LESS THAN 5* ERROR. 

WHAT IS THE SQUARE ROOT OF 78 

7 8.11 

NOT TOO CLOSE. SQUARE ROOT OF 78 IS 8.83176 

YOU MISSED BY 8.17233 X 

WHAT IS THE SQUARE ROOT OF 79 

7 8.8 

NOT BAD--YOU ONLY MISSED BY .992265 X 

SQUARE ROOT OF 79 IS 8.88819 

WAT IS THE SQUARE ROOT OF 76 

7 8.5 

NOT BAD--YOU ONLY MISSED BY 2.49831 X 

SQUARE ROOT OF 76 IS 8.7178 

WAT IS THE SQUARE ROOT OF 48 

7 6.10 

NOT TOO CLOSE. SQUARE ROOT OF 48 I S 6.9282 

YOU MISSED BY 11 .9541 X 

WHAT IS THE SQUARE ROOT OF 8 

7 6.4 

NOT TOO CLOSE. SQUARE ROOT OF 8 IS 2.82843 

YOU MISSED BY 126.274 X 

WHAT IS THE SQUARE ROOT OF 21 

7 4.68 

NOT BAD--YOU ONLY MISSED BY 2.12597 X 

SQUARE ROOT OF 21 IS 4.58258 

WHAT IS THE SQUARE ROOT OF 5 2 

7 7.57 

NOT BAD--YOU ONLY MISSED BY 4.9770 1 X 

SQUARE ROOT OF 52 IS 7.2111 

WHAT IS THE SQUARE ROOT OF 27 

7 5.15 

NOT BAD--YOU ONLY MISSED BY .888204 X 

SQUARE ROOT OF 27 IS 5.19615 



THAT'S 3 IN A ROW I 
PASTE STAR HERE — 



60 



CREATIVE COMPUTING 



REM 



We have been 
explaining programs 
by drawing "bal- 
loons" on the side, 

which contain explanatory remarks. 

Remarks can also be placed within a 

program by use of the REM statement 

which looks like this: 

10 REM ANYTHING YOU WANT TO SAY 

Remark statements show up only when 
you list a program, not during a run. 
Here's an example of how one of our 
previous programs might look with 
REM statements. It also illustrates a 
feature in some BASICs that allow 
remarks after the ! or ' symbol. I 



SELF-TEST 

1. Simulate a RUN of this program: 

10 FOR K = 1 TO 10 
20 LET X = K * K 
30 PRINT K, SOR(X) 
40 NEXT K 
50 END 

2. Simulate a RUN of this "pattern" 
program: 

10 FOR K = 10 TO -10 STEP -1 
20 FOR J = 1 TO ABS(K) 

30 PRINT ; 

40 NEXT J 
50 PRINT 
60 NEXT K 
70 END 

3. Write, debug, and run a program 
that asks for an estimate of the total 
cost of five items on a supermarket 
receipt. First have the computer 
print out the simulated receipt. 
Generate the dollar cost of each 
item with INT(900'RND(O) + 
20)/100). Then ask for estimated 
total, and compare it with exact sum. 
Give different kinds of 
congratulatory (or other) messages 
that depend on the relative error in 
each answer. 



2.8 HOUR 8: KEEPING CHECK ON A 
BANK BALANCE 

In this section we'll explain two new 
features of BASIC (subroutines and 
user-defined functions) by showing 
how to apply them to the problem of 
calculating compound interest. Before 
discussing these features, let's first 
review what's involved in finding 
interest that's "compounded" at 
various intervals. 

The idea of compounding shows up 
in several kinds of problems. For 
example, in calculating the population 
growth of some species (say, rabbits), 
you have to allow for the fact that if new 
rabbits come from the original 
population, then new, new rabbits 
come from both the new rabbits and 
the original population, while new, 
new, new rabbits come from the new, 



LIST 

10 REM PROGRAM FOR CHECKING INPUT 

15 PRINT 'TYPE A POSITIVE INTEGER BETWEEN 50 AND 100 
20 INPUT A 

25 REM FIRST SEE IF MAYBE IT'S NOT AN INTEGER 

30 IF INT(A) <> A THEN 120 

35 REM NOW SEE IF IT'S OUTSIDE RANGE SO TO 100 

40 IF ABSC75-A) > 2S THEN 140 

50 PRINT "YOU HAVE OBEYED A COMPUTER." 

60 PRINT "THERE IS NO HOPE." 

70 STOP 

US REM MESSAGE FOR LINE 30 BRANCH 

120 PRINT "THAT'S NOT AN INTEGER" 
130 GOTO 10 

135 REM MESSAGE FOR LINE 35 BRANCH 

140 PRINT "OUT OF REQUESTED RANGE" 

145 PRINT "READ THE INSTRUCTIONS CAREFULLY" 

150 GOTO 10 

160 END 



THIS IS THE 
SECTION OF 
THE PROGRAM 
THAT PRINTS 
MESSAGES 




JAN/FEB 1978 



61 



new rabbits, new rabbits, and original 
rabbits (assuming no deaths), etc., etc. 

The same idea holds for compound 
interest: it's calculated on the original 
amount (called the principal), and on 
the interest on the principal, and on the 
interest on the interest on the principal, 
etc., etc. How often this re-calculation 
gets done is up to the bank. For 
example, they may do it four times a 
year (which is called quarterly 
compounding), or even 365 times a 
year (called daily compounding). 
There are two methods for calculating 
compound interest: (1 ) use a loop, and 
(2) use an exponential formula. Let's 
look at the loop method first. 

Here's a loop for finding 5% interest 
compounded quarterly on a principal 
of $1000, with a total time in the bank of 
1 year. 

5 LET N = 1000 

10 FOR K = 1 TO 4 

20 LET N = N + (.05/4) * N 

30 NEXT K 

40 PRINT "INTEREST IS"; N - 1000 

The new balance at the end of each 
quarter (3 months) is calculated in line 
20 as follows. 



^ 



•Interest 



N = N 



',(.05/4), r T? 



\ I Interest rate J 
\ | for 1/4 year / 



GOSUB 



I New balance] [Current balance] 

Each time around the FOR... NEXT 
loop is like another 3 months. At the 
end of 4 loops, N contains the year-end 
balance, so N - 1000 gives the 
compound interest that accumulated 
in a year. 

To do this same calculation for daily 
compounding, the loop would have to 
go FOR K = 1 TO 365, while the interest 
added each day would be at the rate of 
(.05/365). 

The small program we 
just explained can be 
used as part of a larger 
(or "main") program. 
The small program can be called a 
"subprogram", or a "subroutine." 

The advantage to building a 
main program partially from 
subroutines is that it helps organize 
your thinking. The approach to take is 
to think of yourself as a VIP (very 
important programmer). You start by 
pretending that you don't have to worry 
about details because you can call on 
assistants for help. To make the idea 
even more dramatic, you can picture 
your executive office on the top floor, 
while the assistants work at lower 
levels called subroutines. When you 
need help from an assistant (say at 
level 1000) you shout "GOSUB 1000". 
When the assistant at this location is 
finished, he yells "RETURN". 



V.LE 




OUT 

TO G0U= 






* i urn i i i.ii,iiii„i • 



This image isn't as silly as it may 
seem. To see why, let's first look at a 
"program" written by a VIP which only 
outlines the work to be done. 

10 Get data on husband's bank 
account. 

• 
50 Get my assistant down on level 
1000 to figure out and print 
husband's interest and balance. 



65 Get data on wife's bank account. 



• 
90 Ask the same assistant to figure 

out wife's interest and balance, 

and print it. 
100 Lock up office and go play golf. 

If written in BASIC, such a program 
would partially look like the following. 



MAIN PROGRAM 


10 

• 
• 
• 

50 GOSUB 1000 n 

^-—65 






/ • 
/ • 

/ 90 GOSUB 1000> 
/ .—-100 STOP 








J 


' 


1 


SUBROUTINE 


\ f 1000 REM SUBROUTINE 




N. 1050 RETURN, 



62 



CREATIVE COMPUTING 



What the statement GOSUB 1000 
really means is "go and do the 
subroutine that starts at line 1000 and 
then return to the line right after the 
GOSUB statement that was just 
executed." To see how this all goes 
together, look at the following 
complete program: ■ 

All the hard work is done in the 
subroutine from lines 1000 to 1050. 
When the main program reaches line 
50, it "goes to" line 1000, where it 
continues execution. In our example, it 
does line 1005, followed by 365 times 
around the FOR. . .NEXT loop in 1010 to 
1030, followed by 1040, followed by 
1045 and 1050. Line 1050 then says 
RETURN. (Subroutines must always 
end with a RETURN statement.) Return 
means go back to the line right after the 
GOSUB. In our example, that's line 65. 
So 65 is executed right after 1050. The 
second time the subroutine is called is 
at line 90. Again, all the hard work is 
done in the subroutine (at no extra cost 
in programming!), but this time the 
RETURN is to line 100. 






"ENTER INTEREST RATE" I 

R 

"ENTER BALANCE FOR HUSBAND'S ACCOUNT") 

10 00 (7) s 



■®~\ 



UST 

10 PRINT 

20 INPUT 

30 PRINT 

40 INPUT 

SO GOSUB 

65 PRINT 

70 PRINT "ENTER BALANCE FOR WIFE'S ACCOUNT* 1 

80 INPUT B 

90 GOSUB 10 00 

100 STOP 

1000 REM SUBROUTINE FOR COMPOUNDING INTEREST DAILY OVER 365 DAYS 

1005 LET N-B 

1010 FOR D-l TO 365 

1020 LET N-N*< R/365 >«N 

1030 NEXT D 

1040 LET I-N-B 

104S PRINT "YEAR'S INTEREST-" 1 1 1 "NEW BALANCE-" IN 

1050 RETURN 

1060 END 



RUN 

ENTER INTEREST RATE? .0 525 

ENTER BALANCE FOR HUSBAND'S ACCOUNT? 1000 

YEAR'S INTEREST- S3. 8986 NEW BALANCE- 1053.9 

ENTER BALANCE FOR WIFE'S ACCOUNT? 1500 

YEAR'S INTEREST- 80.8479 NEW BALANCE- 1580.85 

STOP at line 100 



Details, Details 

Now that we see the big picture, we 
can concentrate on explaining how this 
particular subroutine works. What it 
does is to start the new balance out as 
N = B, calculate the interest for one day 
as (.0525/365) *N, and then get the 
revised new balance as N = N + 
(0525/365)*N. This process is 
repeated 365 times in a loop. When the 
loop is finished, the interest earned for 
a year will be the final new balance 
minus the starting balance; that is, I "N 
- B. Now that we have N and I, we can 
return to line 65, where the program 
continues. When the program gets to 
line 90, this whole process is repeated, 
but this time B contains ttie wife's 
balance, so a completely different 
calculation is done. In other words, 
subroutines in BASIC use the current 
value that variables have in the main 
program. 



Question: Could this program have 
been written as easily using GOTO 
instead of GOSUB? No, because there 
would be no way to return to different 
line numbers the way RETURN does. 

Question: Can subroutines 
sometimes be inefficient? The answer 
is yes, but after everything is working, 
you can swap your VIP hat for your STP 
hat (super terrific programmer), and 
clean things up a bit. For example, the 
subroutine we have shown does the 
division (R/365) seven hundred and 
thirty times! This inefficiency can be 
removed by adding the statement 

25 LET F = R/365 
and using F instead of R/365 inside the 
subroutine. 

JAN/FEB 1978 



DEF FNX 



As just seen, subroutines are small 
programs, usually involving several 
lines. Sometimes a "subjob" can be 
handled by a single LET statement, and 
using a subroutine is hardly worth the 
effort. In this case, there's another 
feature called DEFining a function that 
can be used instead of GOSUB. We'll 
illustrate its use with the second 
method for calculating compound in- 
terest. 

If you dig through some math books, 
you'll find the following formula for 
getting the new balance on an account 
with compound interest. 

N = P* (1 +R/M)f(M-T) 
In this formula, 
P is the starting principal in dollars, 
R is the annual interest rate, 
M is the number of times interest is 

compounded each year, and 
T is the number of years left in the 
bank. 

For example, for $3000 left for three 
years in a bank with 5% interest 
compounded monthly, 
P = 3000 
R = .05 
M = 12 
T = 3 
So the new amount at the end of three 
years, 

N = 3000 ' (1 + .05/12) t (12 *3). The 
"up arrow" means raise to that power 
(exponentiate), so this is a difficult 
calculation. It's time for a computer! 



63 






Our programming approach will be 
to place this formula in a special 
statement that allows the formula to be 
called upon as often as we wish The 
way to "store" a formula like this in a 
BASIC program is to use the define 
function statement as follows: 



IQ iDEF FN N .(P, R, M, T), 



Keyword part 



^T3 



,P • (1 + R/M) f (M ' T), 
J 



A one-letter 
name you choose 



List of "arguments" 
used in the function 



The DEF FNN statement can be placed 
anywhere in a program, and FNN can 
be used anywhere that an expression 
can be used. Here's a program that 
uses our function twice, once in a LET 
statement, once in a PRINT statement. 
We called our function FNN. We could 
just as well have used names like FNA, 
FNB, FNC FNZ. m 



As shown in lines 50 and 80, when FNN 
is used (or "called"), it must be given 
arguments. Notice that these 
arguments can be replaced with 
constants, variables, or even 
expressions. 



ON... GOSUB 



This statement is similar to the 
ON... GOTO statement. It directs the 
program to go to different subroutines, 
depending on the value of the variable 
(or expression) right after the keyword 
ON 



An expression 
(or 'formula') 
that tells what 
to do with the 
"arguments" 



UST 




THIS IS THE WAY T IS HtlNTEp) 
ON MANY TERMINALS. 



10 DEF FNN<P,R,M,T>-P«C1»R/M)"(M»T) 

20 PRINT "YOU HAVE SI 000 IN A BANK THAT GIVES" 

25 PRINT "5* INTEREST, COMPOUNDED DAILY." 

30 PRINT "HOW MANY YEARS DO YOU WISH TO LEAVE IT"» 

40 INPUT T 

50 LET N-FNNC1000, .05, 365, T> 

60 LET I-N-I0O0 

70 PRINT "YOU'LL RECEIVE S"Hl* INTEREST AND HAVE A BALANCE OF *"|N 

80 PRINT *F0R*|2«T|"YEARS, BALANCE WOULD •* |FNN( 1 00 , . 05 ,3 65 ,2*T ) 

10 END 



RUN 

YOU HAVE SI 000 IN A BANK THAT GIVES 

SX INTEREST, COMPOUNDED DAILY. 

HOW MANY YEARS DO YOU WISH TO LEAVE IT? 3 

YOU'LL RECEIVE S 161.822 INTEREST AND HAVE A BALANCE OF S 1161.82 

FOR 6 YEARS, BALANCE WOULD - 1349.83 



10 ON K GOSUB 1000, 1500, 2000 
20 PRINT 



means "if K + 1, go to subroutine 1000, return to line 20" 
"if K + 2, go to subroutine 1500, return to line 20" 
"if K = 3, go to subroutine 2000, return to line 20" 

It's up to the programmer to make sure 

that K takes on only values that match 

the number of subroutines. If, for 

example. K became 4 in our example. 

standard BASIC would treat this as an 

error (some earlier versions treated this 

as a "default" and continued execution 

at the next line— line 20 in our 

example). For an example of 

ON... GOSUB, see SELF-TEST 

Question 3. 



SELF-TEST 

1. Simulate running this program: 

10 PRINT "TYPE AN INTEGER FROM 1 TO 5" 

20 INPUT I 

30 IF INT(I) I THEN 10 

40IFABS(l-3) 2 THEN 10 

50 PRINT "HOW DO 

55 LET N = I 

60 GOSUB 500 

100 PRINT 

110 PRINT "OR IS IT ALREADY POSSIBLE " 

120 LET N = 2 ' I 

130 GOSUB 500 

140 STOP 

500 FOR K = 1 TO N 

510 PRINT "YOU KNOW "; 

520 NEXT K 

530 RETURN 

540 END 

2. Simulate running this program: 
10 DEF FNA(R) = 3.1416 * R ' R 
20 FOR K = 1 TO 5 

30 PRINT "FOR A RADIUS OF"; 10 K 

40 PRINT "THE AREA OF A CIRCLE IS": FNAMO K) 

50 NEXT K 

60 END 



64 



CREATIVE COMPUTING 



Write and run this program 

10 FOR K = 1 to 10 

20 PRINT "MAY "; 

30 LET X = INT(4 ' RND(O) + 1) 

40 ON X GOSUB 100, 200. 300. 400 

50 PRINT "SING TO "; 

60 LET Y = INT(4 * RND(0) + 1) 

70 ON Y GOSUB 100. 200. 300. 400 

75 PRINT 

80 NEXT K 

90 STOP 

100 PRINT "AN IMPORTED SALAMI 

110 RETURN 

200 PRINT "YOUR FAITHFUL DOG " 

210 RETURN 

300 PRINT "AN ENRAGED CAMEL ": 

310 RETURN 

400 PRINT "THE EASTER BUNNY " 

410 RETURN 
500 END 



Write a program that compares the 
"loop" method with the "formula" 
method for getting compound 
interest. Show the results at the end 
of each year. A RUN should look like 
this: 



Another simplification is to treat all 
months as having 30 days, which 
means assuming 360 days for one year 
(some banking systems do this). 
Sub-project: How can a bank advertise 
that 5% interest compounded daily 
amounts to an annual interest rate of 
5.47%? 

2. Write an arithmetic practice 
program that uses four subroutines: 
one for addition problems, one for 
subtraction, one for multiplication, one 
for division. The RND function and 
ON... GOSUB should then be used to 
select the kind of problem (addition, 
subtraction, multiplication, or division) 
to be presented. Also try to use the 
method of SELF-TEST Question 3 to 
produce different kinds of messages 
for wrong answers, and other kinds of 
messages for correct answers. Here's 
what a RUN might look like: 

ADDITION QUESTION: 5 + 6 = ? 1 1 

RIGHT! YOUR REWARD WILL BE RICHES AND RIPE BANANAS. 

SUBTRACTION QUESTION: 33 - 23= ? 16 

WRONG— ANSWER IS 10 

KEEP THIS UP AND YOU'LL FIND CHICKEN LIVERS IN YOUR SOCK 

DIVISION QUESTION: ... etc. ... 



PRINCIPAL? 1000 
INTEREST RATE? .05 

# OF TIMES COMPOUNDED PER YEAR? 365 

# OF YEARS? 25 
STARTING YEAR? 1976 
THANK YOU 

LOOP METHOD 
YEAR BALANCE INTEREST 

1976 
1977 
1978 
1979 



2001 3490.05 170.223 3489.94 

Our program ignored leap years. If 

you're really ambitious, see if you can 

take leap years into account. The 

output of this program will vary slightly 

on different computers due to what are 

called "rounding" errors. The only way 

around this problem is to use a BASIC 

with double-precision arithmetic. 



FORMULA METHOD 
BALANCE INTEREST 



1000 





1000 





1051.27 


51 .2745 


1051.27 


51.2663 


1105.16 


53.9032 


1105.16 


53.8945 


1161.82 


56.6667 


1161.82 


56 6574 



170.191 



2.9 PROJECT IDEAS 

1. Write a program that allows the 
user to enter the date of deposit, the 
amount deposited, the annual interest 
rate, the number of times compounded 
per year, and the date of withdrawal. 
The program should then print the new 
balance and the interest accumulated. 
A date like Nov. 18, 1976 can be entered 
as: 

DATE DEP? 11, 18, 76 
You can ignore leap years if you wish. 




Wed like to put two bucks on Happy Daddy' 
running in the seventh today 



JAN'FEB 1978 



65 



3. It's legal to have one subroutine 
call another subroutine in BASIC. The 
program below illustrates this feature. 
Study and run the program, and then 
write it without using GOSUB at all. 
Your program should produce the 
same output as shown in our example. 




4. Find a program written in an 
extended version of BASIC, and 
translate it into a version that runs on 
your system. The idea is to become 
familiar with the possibilities of 
extended BASIC so you can get a feel 
for those features you want to insist on 
when buying your next software 
package. It would also be a good idea 
to keep a notebook on the special 
features of your BASIC. 



UST 



20 
30 



S RANDOMIZE 

10 PRINT 'PLAYER #1 TYPE RANGE (0 TO 50)' I 

INPUT P 

LET R - 50 • RND<0> 
40 LET Dl ■ ABSCP - R) 
50 GOSUB 10 00 

60 PRINT "PLAYER #2 TYPE RANGE <0 TO 50)"» 
70 INPUT P 

80 LET R - 50 • RNDC0) 
90 LET D2 - ABSCP-R) 
100 GOSUB 1000 
110 IF Dl - D2 THEN 170 
120 IF Dl < D2 THEN 150 
130 PRINT 'PLAYER «2 WINS* 
140 GOTO 180 

150 PRINT "PLAYER t\ WINS* 
160 GOTO 180 
170 PRINT " TIE SCORE* 
180 GOTO 9999 

1000 REM TARGET DISPLAY ROUTINE 

1010 GOSUB 2000 

1020 LET X - P 

1025 PRINT 'SHELL* I 

1030 GOSUB 3000 

1040 GOSUB 2000 

1050 LET X • R 

1055 PRINT *U-BOAT*J 

1060 GOSUB 3000 

10 70 GOSUB 200 

1080 PRINT 

1090 RETURN 

2000 REM LINE ROUTINE 

2010 FOR K«l TO 60 
2020 PRINT *-'| 
2030 NEXT K 
2040 PRINT 
2050 RETURN 

3000 REM SHELL ROUTINE 

3010 PRINT TAB(X+8)|"<»>" 
3020 RETURN 
9999 END 



SOLUTION. Well show a sample 
solution to this project as a guide to 
what's involved. Our solution will also 
help you to read programs written in 
BASIC-PLUS or EXTENDED BASIC. 
You'll see that most of the extensions 
can easily be translated into minimal 
standard BASIC, but at the cost of extra 
statements. 

Our example will first show a Russian 
Roulette game program written in 
extended BASIC. Then we'll illustrate 
how each of the extended statements 
can be replaced by several simpler 
statements. 

To illustrate how this extended 
BASIC program can be translated into 
minimal standard BASIC, we'll show 
the two versions side by side. As you'll 
note, most extended statements must 
be translated into several standard 
statements. 

The numbers in circles on our 
diagram refer to the following six 
explanatory notes. 



Notes on the Translation from 
Extended BASIC to Minimal BASIC 
1. Many extended BASIC'S allow 
several statements on the same line 



RUN 
PLAYER #1 


TYPE 


RANGE (0 TO 50)? 35 








SHELL 






<•> 




U-BOAT 






<•> 




PLAYER *2 


TYPE 


RANGE (0 TO 50)7 10 






SHELL 




<•> 






U-BOAT 






<•> 




PLAYER §\ 


WINS 









UST 

10 RANDOMIZE 

20 PRINT "RUSSIAN ROULETTE*! PRINT " " 

30 PRINT 'TYPE 1 TO SPIN CHAMBER, TO QUIT' 

35 N-0 

40 INPUT "YOUR CHOICE IS* |C 

68 IF C-l THEN PRINT 'LOTSALUCK* ELSE PRINT 'CHICKEN* I GOTO 140 

71 IF RND(0>>.85 THEN 10 ELSE N-N + l 

80 IF N>-10 THEN 120 ELSE PRINT * — CLICK--" 

90 PRINT! GOTO 40 

1(0 PRINT * BANGUI YOU'RE DEAD" I PRINT "SORRY ABOUT THAT" 

110 PRINTlPRINT "NEXT VICTIM PLEASE" I PRINT I GOTO 30 

120 PRINT 'YOU DID ITII 10 MISSESI — YOU WIN" 

125 PRINT "YEAI "I FOR K-l TO 50 

130 STOP 

140 PRINT " GET SOMEONE ELSE WHO ISN'T SO SMART" I PRINTlGOTO 30 

150 END 



66 



CREATIVE COMPUTING 



provided they are separated by colons. 
To translate, you merely write a 
separate line for each part. This is what 
we did with line 20. Other examples are 
shown in lines 90, 100, 110. 125, and 
140. 



10 RAND0HI".E> 

.ill PRINT "RUSSIAN ROULETTE 

30 PRINT "TYPE 1 



PRINT " 

TO SPIN CHAMBER, TO 3UIT">- 



35 N-0 5 

40 INPUT "YOUR CHOICE 1S"|C> 

60 IF C»l THEN PRINT "LOTSALUCK" ELSE PRINT "CHICKEN"! SOTO 1«0 

70 IF RNDC0>>.85 THEN 100 ELSE N«N»l> 

a0 IF N>-10 THEN 120 ELSE PRINT "--CLICK--"> 

90 PRINTl GOTO405> — 

100 PRINT " BANGUI YOU'RE DEAD'l PRINT "SORRY ABOUT THAT"> 

110 PRINTlPRINT "NEXT VICTIM PLEASE" :PR INT t GOTO 30 > 

120 PRINT "YOU DID IT I I 10 MISSES! -- YOU W1N"> 
125 FOR K-l TO 10: PRINT "YEA! "II NEXT Kl PR 1 NT > 

130 STOP J 

)HCO»i cLjt. dMU l->h'r ju jIvART": PHUT: HUTU JO 

Nl>>— 




LIST 

RUSSIAN ROULETTE 

TYPE 1 TO SPIN CHAMBER, TO OUIT 

YOUR CHOICE 1ST 1 

LOTSALUCK 

BANG! I I YOU'RE DEAD 
SORRY ABOUT THAT 

NEXT VICTIM PLEASE 

TYPE 1 TO SPIN CHAMBER, TO QUIT 
YOUR CHOICE IS7 1 
LOTSALUCK 
— CLICK-- 

YOUR CHOICE IS? I 

LOTSALUCK 

— CLICK-- 

YOUR CHOICE IS? 1 

LOTSALUCK 

— CLICK-- 

YOUR CHOICE IS? 1 

LOTSALUCK 

— CLICK-- 

YOUR CHOICE IS? 1 

LOTSALUCK 

— CLICK-- 

YOUR CHOICE IS? 1 
LOTSALUCK 
—CLICK — 

YOUR CHOICE IS? 1 
LOTSALUCK 

— CLICK-- 

YDUR CHOICE IS? I 
LOTSALUCK 
—CLICK — 

YOUR CHOICE IS7 I 

LOTSALUCK 

— CLICK-- 

YOUR CHOICE IS? 1 

LOTSALUCK 

YOU DID ITI I 10 MISSESI -- YOU WIN 

YEAI YEAI YEAI YEAI YEAI YEA I YEAI YEAI YEAI YEA I 

STOP at 1 lne 130 



LIST 

10 RANDOMIZE 

20 PRINT "RUSSIAN ROULETTE" 

21 PRINT " ' 

30 PRINT "TYPE 1 TO SPIN CHAMBER, TO SUIT" 
35 LET N-0 

40 PRINT "YOUR CHOICE IS" I 

41 INPUT C 

64 IF C-l THEN 63 

61 PRINT "CHICKEN" 

62 GOTO 140 

63 PRINT "LOTSALUCK* 

70 IF RND (0>>.3S THEN 100 

71 LET N-N.l 

SO IF N>-1 THEN 120 
81 PRINT "--CLICK--" 

90 PRINT 

91 GOTO 4 

100 PRINT "BANG!! YOU'RE DEAD" 

101 PRINT "SORRY ABOUT THAT" 

110 PRINT 

111 PRINT "NEXT VICTIM PLEASE" 

112 PRINT 

113 GOTO 3 

120 PRINT "YOU DID IT I I 10 MISSES! -- YOU BIN" 

125 FOR K-l TO I 

126 PRINT "YEA! 'l 

127 NEXT K 

128 PRINT 
130 STOP 

142 PRINT 

143 OOTU 3 

150 END 



2. Line 35 shows that many extended 
BASIC'S allow you to omit the word 
LET. 

3. Line 40 shows how a message can 
be placed within an extended INPUT 
statement. This translates into a PRINT 
followed by an INPUT, with the PRINT 
terminated by a semi-colon. 

4. Line 60 shows how the THEN in an 
IF. ..THEN statement can be followed 
by another statement rather than a line 
number. The translation can be a bit 
tricky as shown, since ELSE is also 
used. 

5. If. . THEN. . ELSE means if true, go 
to the statement after THEN, if false, go 
to the statement after ELSE. 

Other features of extended BASIC will 
be introduced as they become useful. 
Techniques for translating them into 
minimal BASIC will also be shown. 

WARNING: When you're finished with 
a translation make sure that all your 
'GOTO'' and "IF... THEN" statements 
branch to the correct line numbers. 
You may have to make some changes. 

Here's a sample RUN of the 
ROULETTE program to show how it 
should work if you've done the 
translation properly. Of course runs 
will differ with different RND 
generators (and RANDOMIZE 
routines). 



EOF 



This ends the four-part excerpt from 
Chapter 2 of a new book. "BASIC and 
the Personal Computer." by Thomas A. 
Dwyer, to be published early this year 
by Addison -Wesley. Co.. Reading. 
Mass. 01867. ■ 



JAN FEB 1978 



67 



» 










j.\,%bWf- ■ 













Illustration reprinted with permission trom Hammermill Paper Co\ v. 












Human 
Memory 




■ 



Susan Hastings 



(who also wrote 
the three 
subsequent 
articles) 



In all human communication, infor- 
mation is transmitted from one person's 
memory to another. From the ancient 
days of Greece when philosophers drew 
on their own conscious experiences of 
mental activities in order to understand 
just how the mind operates, up until 
modern times when scientists use 
electronic tools to explore memory 
processes, man has wanted to know 
more about how messages are coded, 
preserved, and retrieved by the brain. 
And as more ways are developed for 
transmitting information, the study of 
human memory becomes increasingly 
important. 

Experimental psychologists have in- 
vestigated two different types of human 
memory, one like the temporary 
"scratch-pad" buffers of digital com 
puters, and the other like their more 
permanent "bulk-storage" devices. 
Human short-term memory can hold 
between five and ten pieces of informa- 
tion. Unless a person repeats it to 
himself, the information is typically 
forgotten in less than a minute. This 
temporary storage system is used when 
we look up and dial a new telephone 
number or when we recall what 
someone said a moment ago. 

In contrast, the capacity of long-term 
memory is tremendous. It normally 
contains records of enormous numbers 
of facts and experiences. Employing this 
essentially permanent storage system, 
a person can preserve information for 



many years without making any con- 
scious effort to retain it. Long-term 
memory is used when we recall our own 
telephone number, recognize the 
meanings of words, or remember 
someone's face. 

A technique pioneered at Bell Labs is 
providing a new way to study both long- 
term and short-term memory. Instead of 
employing traditional methods of 
measuring the number and pattern of 
errors people make under controlled 
conditions, the new technique 
measures how long it takes a person to 
remember selected kinds and amounts 
of information correctly. One in- 
teresting aspect of the findings of 
reaction-time experiments is that what 
actually happens in a person's mind 
when he remembers something may be 
very different from what he thinks is 
happening. Not only are people un- 
aware of some of their mental activities, 
but they may actually be mistaken about 
others. This means that to determine 
the brain's capabilities and limitations, 
precise measurements must be taken. 

For example, in one of the first 
experiments Bell scientists performed 
on short-term memory, it was found 
that mental recognition is a more 
exhaustive process than any of the 
people being tested believed When 
electronic apparatus was used to 
measure how long it took people to 
decide whether a particular test digit 
was among those presented in a short 
memorized list of digits, most people 
were surprised to discover that they 
searched the entire list for the test digit 
rather than stopping as soon as they 
found it. When reaction times from the 
experiment were studied, it was dis- 
covered that each digit in the memoriz- 
ed list required about 40 milliseconds to 
recall, but people showed exactly the 
same reaction time whether the test 
digit was in the middle of the list, at the 
end, or not included in the list at all 
Furthermore, the test concluded that an 
exhaustive search is actually more 
efficient than a deliberately self- 
terminating one; when people were 
presented with different experimental 



tasks that made it important to stop 
searching as soon as the test digit was 
found, the search became much slower 

Reaction-time experiments were also 
used in the study of long-term memory 
processes. In this area, concentration 
centered on words rather than 
numbers: on how common words are 
organized in memory, and how informa- 
tion about words is retrieved during 
such activities as reading and listening. 
One set of findings indicates that words 
are arranged systematically rather than 
haphazardly in long-term memory. 
Evidence that the brain stores words in 
the same way that a thesaurus does is 
supported by the fact that a person can 
decide that a row of letters like DOCTOR 
is a word considerably faster when it 
follows a related word like NURSE than 
when it follows an unrelated word like 
BREAD. The increase in speed is 
greatest when the word follows a 
related word immediately, instead of 
after a delay; the reaction time is then 
shorter by as much as 50 to 100 
milliseconds. It was also found that 
people can pronounce a printed word 
faster when it is related in meaning to 
an immediately preceding word than 
when it is unrelated. 

While experiments have shown that 
short-term memory seems to work very 
much like a digital computer, the 
computer analogy does not fully carry 
over to long-term memory processes. 
For example, people were sometimes 
presented with a sequence of three 
words like NURSE-SMOKE-DOCTOR, in 
which two related words were 
separated by an intervening unrelated 
word. Despite the separation, people 
still recognized the third word more 
quickly than when the first word was 
unrelated to it, as in a sequence like 
BREAD-SMOKE-DOCTOR. This would 
not have happened with a magnetic- 
tape computer which proceeds its 
search from the point at which it has 
just stopped. Scientists believe that 
reaction timing shows that retrieving a 
word from long-term memory tem- 
porarily increases neural activity at the 
locations of their "nearby" related 
words in the memory structure. This 
"spreading activation" reduces the 
amount of additional activity needed to 
recognize a related word, and therefore 
speeds the reaction. 

It is not too surprising that short-term 
and long-term memory processes 
operate in essentially different ways, 
because if a person had to go through a 
list of the thousands of words he is 
familiar with every time he spoke a 
sentence, it might take several minutes 
even if his memory worked at peak 
efficiency! But further experiments 
have shown that short-term and long- 
term memory search processes are 
stimulated in separate ways. While a 
short-term search may proceed only 



after the brain has mentally coded the 
stimulus into a highly refined, abstract 
representation (possibly the name of a 
test digit), long-term memory processes 
can proceed as soon as a person has a 
visual image of the stimulus. 

Like the results of other basic 
research, findings about short-term and 
long-term memory can potentially be 
used in many ways. Results from 
memory research may suggest ways to 
improve communication by increasing a 
person's rate of proceesing information, 
or by reducing errors. Naturally the Bell 
researchers first related their findings 
to ways to make the telephone more 
efficient: they wish to assign frequently- 
called telephones numbers that can be 
remembered most easily, and make the 
job of a telephone operator minimally 
difficult. But recent discoveries about 
human memory have begun to in- 
fluence research far removed from the 
topics originally investigated. Scientists 
are using reaction time experiments to 
study child development aging, the 
effects of acceleration in space and with 
hallucinogenic drugs, and the nature of 
aphasia, schizophrenia, and mental 
retardation. Reaction-time methods are 
being employed to attack a growing 
variety of other questions about mental 
processes, both fundamental and 
applied. During the past decade, the 
percentage of psychological studies 
involving reaction time measurements 
has nearly tripled. 

For more information, see "Exploring 
the Speed of Mental Processes" by Max 
Mathews, David Meyer, and Saul 
Sternberg, Bell Laboratories Record. 
Vol. 53, No. 3, March 1975. 



Mind- 
Reading 

Via 
Computer 



In a recent French science fiction 
movie. Fantastic Planet, learning was 
accomplished by putting on aheadband 
that fed information directly into the 
brain. Today, a California neurophysio- 
logist and psychologist is on his way 
toward making this imaginary device a 
reality. 

For the past two years. Dr. Lawrence 
Pinneo of the Stanford Research 
Institute has been working with eight 
subjects to develop a means to record 
and store human thoughts in a 
computer. He calls this sytem, which 



would result in a closer coupling 
between man and machine, biocyber- 
netic communication. 

In Dr. Pinneo's experiments, electro- 
encephalographic signals from a 
subject's brain are recorded when the 
subject speaks or thinks a specific word, 
and a computer stores the signals 
associated with that word. The next time 
the subject speaks or thinks the word, 
the computer sorts through its vocabu- 
lary, picks out the correct pattern, and 
responds by ordering a remote-control 
camera to perform the appropriate 
action. 

Results from Pinneo's experiments 
have proven significantly successful. 
The fact that some words do have a 
higher percentage of correct classifica- 
tion than others has led him to believe 
that 100 percent effectiveness can be 
achieved as the process continues to be 
refined. 

Doing that involves learning what is 
actually happening in the brain when 
someone speaks or thinks a word. 
Semantic components of words are 
being studied to see how much of a 
word's meaning is conveyed by its sound 
and how much is the result of someother 
unspecified process. As his studies 
progress, Pinneo has become convinced 
that there is a way to trap the essential 
semantic context of words and program 
them. If this can be done, the 
communication between man and 
machine could work in both directions. A 
computer which could store information 
in electrophysiological signals could 
also convey information via those 
signals to the human brain, and 
Fantastic Planet's teaching headband 
would be only one of the uses of 
biocybernetic communication. 

In the future, thoughts transformed by 
computers into mechanical directions 
would make it possible for astronauts, 
aquanauts, or for that matter, even land- 
bound drivers of futuristic automobiles 
to maneuver their vehicles simply by 
thinking into a computer-linked engine. 
Artists could create by conjuring up 
images, in their minds, of the finished 
products. Even distant planets with 
hostile environments could be explored 
by using a two-way biocybernetic link, 
giving man the illusion of direct 
experience and the advantage of 
immediate, rather than pre-programmed 
thought. 

The possibilities of biocybernetic 
communication are extraordinary and 
even frightening. Man's search for 
communion with others, even if in some 
cases the other may be a machine, is, as 
in all quests, both a hunt for something 
and an escape from something. Using 
Piinneo's mind-computer link, we may 
finally succeed in completely knowing 
each other and our environment, but we 
also may risk losing our private selves. 



TV ■ 



The 
Computer 

Meets 

the Doctor 



Artificial Intelligence (Al) in medicine is 
perhaps one of the most disputed and 
exaggerated territories in computer 
research today. The computer as a 
consultant appears to be an almost 
certain fixture in the medical diagnosis 
of tomorrow, but neither experts nor 
laymen can seem to agree on just how 
far doctors can and should go in their 
reliance upon the judgement of a 
machine. 

The term Al refers to computerized 
information processing tasks that have 
previously been assigned to the human 
brain, approaching the thin, hazy line 
between programming and learning, 
rote memory and intelligence. Charac- 
terized by a complex reasoning structure 
composed of informational and invest- 
igative models, high-level computer 
languages and computational methods 
which are primarily symbolic (non- 
numeric) in nature, the Al computer is 
capable of multiple modes of logic, data 
interpretation, therapy selection, prog- 
nostication, decision-making, and in 
some cases, self-improvement. 

MYCIN, an Al program developed by 
Dr. Edward Shortliffe and others, is one 
of the electronic physicians that might 
soon find its way into many hospitals. The 
MYCIN system is designed to advise 
physicians about antibiotic therapy for 
patients with infectious diseases, 
especially before complete information 
about the organism which caused the 
disease becomes available. Although 
written in advanced computer dialect. 
MYCIN provides the doctor with an 
Explanation System that understands 
English questions, and can retrace its 
own reasoning pattern in order to make 
its human colleague aware of how the 
decision was made. New information 
can also be added to the MYCIN system 
through its Rule Acquisition System, so 
that a two-way communication between 
man and machine is always possible. 

Numerous other Al projects designed 
for diagnosis and therapy are being 
tested in hospitals and clinics right now. 
Professor Casimir A. Kulikowski and Dr 
Aran Safir are now experimenting with a 
project that would enable a computer to 



"examine" and treat a patient (a marvel 
forecast in Michael Crichton's The 
Andromeda Strain); they have already 
developed a computer model that 
analyzes and prescribes for patients 
with severe cases of glaucoma. Perhaps 
the most spectacular Al system now in 
use, however, is a computer alarm 
system which screens prescriptions at 
Latter Day Saints Hospital Pharmacy in 
Salt Lake City. The Drug Warning 
System evaluates a complete, auto- 
mated file of a patient's history, lab data, 
previous drug therapy and disease state 
via a sophisticated Al logic system in 
order to assess the probability of 
circumstances under which a doctor's 
prescribed drug might become dan- 
gerous. The same Al system has also 
been used to take detailed medical 
histories and diagnose over 20,000 
patients. 

In the area of pure research, artificial 
intelligence is now being used to 
generate probable "candidate" molecu- 
lar structures from mass spectrometry 
data, X-ray protein crystallography and 
organic synthesis. Computers that 
function like the brain are also being 
developed to help medical students 
learn to deal with psychological 
dysfunctions. 

Perhaps, though, the biggest frontiers 
of Al are ethical in nature. Some Al 
proponents feel that if doctors look upon 
the computer as a tool, it will help 
eliminate many repetitive tasks and 
allow them to function more efficiently. 
Other experts doubt the validity of the 
term "artificial inteligence," and say 
that a way has not yet been found to 
make a computer capable of general 
problem solving and learning. Most 
experts do agree on one thing though. If 
the day ever comes when an artificial 
intelligence program has the capacity of 
acquiring new knowledge, the question 
of moral and legal responsibility for a 
computer's action will inevitably come 
to the fore. 



Tidewater's 

Police 

Network 



TENPIN (Tidewater Electronic Network 
of Police Information) is a telecommuni- 
cations network designed to give police 
officers instant access to information 
from local and national computerized 



crime datafiles. What makes theTENPIN 
system unique is that it is one of the few 
regional groupings of independent 
municipalities (as opposed to a grouping 
under a country or metropolitan 
authority) that is improving law- 
enforcement effectiveness by pooling 
information about criminals in their 
respective jurisdictions through com- 
puter storage and retrieval. 

There are 1 .500 police officers in the 
greater Tidewater area of southern 
Virginia The City of Norfolk's Data 
Processing Division developed TENPIN 
to help them protect the 1Vi million 
people who live within its 1 500 square 
miles. 

TENPIN terminals are located at police 
headquarters in 10 cities and towns as 
well as at the U.S. Army's Fort Eustace 
and the FBI's Norfolk office. From 
anywhere in the TENPIN area a police 
officer can radio in a request for 
information to a terminal and receive a 
reply within a minute. TENPIN files are 
accessed through Norfolk's IBM 370/ 
145, using 3270and 2740terminalsfor 
input and retrieval. These units in turn 
tie police into the National Criminal 
Investigation Commission (NCIC) com- 
puter and the FBI's file of wanted felons 
in Washington, DC. In addition, the 
system links each TENPIN member to 
Virginia's Criminal Information Network 
(VCIN), a computer that connects them 
to the State Division of Motor Vehicles, 
the state police, other Virginia police 
departments, and the National Law 
Enforcement Teletype system (NLETS). 
Via the latter, each can send or receive a 
message to or from virtually any police 
department. 

TENPIN includes six files, the main 
one being the warrant file of about 
20.000 wanted persons. Other files are: 
a surveillance file, a probation/parole 
file, an alias fie, and a list of stolen 
aritcles provided by the NCIC The most 
recent addition to TENPIN's files is a 
fingerprint file which employs FAST 
(Fingerprint Access and Searching 
Technique), a computerized method of 
recording and searching fingerprints 
developed especially for the TENPIN 
network. 

Last year a total of 4,096 warrants 
were served between cities through the 
TENPIN system. Police officers are proud 
of the statistic, and admit that they owe a 
lot to TENPIN. Criminals pay no attention 
to municipal boundaries, and law- 
enforcement agencies cannot affort to 
let those boundaries limit their effec- 
tiveness. As evidenced by TENPIN, a tool 
as efficient as the computer can help 
police to leap the boundaries far faster 
than the criminals can. 

For more information, see "Tide- 
water's Police Network," Data Proces- 
sor. March 1975. (IBM, DP Division, 
White Plains. NY 1 0604.) ■ 



***** 



in 



*** 
***** 
***** 
***** 
***** 

*** 



'ill 

W0XX*N.X*5 



+ + -H- ■♦■+-•■»• 3 

+ + + +•-, 

•» .«■ .+ -..».» .«. .» .•. . 

-.„. + — 

•— ♦ +«I"H- 

+-• ♦«»+-• 

♦»■ ++*+ + 

+..+...+...+ ..+ 

"♦•+«»+--. — + 

+..+.. — ... + 

+ — + — ♦-.+ 

— ++ — ♦ -..#. 
♦-•♦•<#•-.♦■*.■♦• 

+ -.+ + +<fe+ 

+ + + 

♦+-. 



UJ 



***** 



♦ ■«•■♦• + +(_ 

♦ ■«■ ■».-.♦-. 

-•-•+•♦—•+ -. 

— + +-.+ 

•++ 



t— +•+ 

+ — 4--++ — 

— +<&■•■+ 

— + +-.+ 

— ++-.++ + + 
+ + — 



.+ — 



••♦ — + + ■♦■+-. 

+ <Sj+~ . + -• 

+ + + + + 



-f + 

•%-•"»•+!, 

.%. + %+ 

•%+ + + + 

■*■■«.•♦.;> 



■•■-. 



• + + 



S 



^ 



+ + f5*S» 

+ + + + +.-. 

+-.+ + — + + + 
♦ + 



WMWMWM I H 




72 



+ ♦ 
+ + ♦ ++ 

*MMMM*JsS>iM% + + + + + + + 

+ + +»%*%%***+-••»• + +J^^f*M+ + ♦+ + +3 
■♦• + ■♦•!<++ + ++■♦■■♦■"♦■-••♦• 



+++M+++++- 






--'-•-•—-•-•'♦■♦ 



X+ + + + +"-> 



^S^S^! 



j^ ...»«..+-...-.+:„>+ + + + ^ •-.»%- 

J$ *»^- + . -.+ + ♦'♦■♦>«■•♦■♦- 



. + .t.jsj *%%."- + 



♦ !* 



Jsj 



Jv«- .% •- •- f •- •- •- •- •- •- — *• •- 



+ •*■ 

+ •► 

-•■♦•♦ 

i ♦•♦■ + 



♦ + ■♦■■♦• 



Js-J^-.-. ++ ^-^v;^.^. + + + + + + 



_ ... .. ... ... .- . Jsj^ .** + » .+«• ■- .- .- .~ .- . - 

mm »T! %l I ++>»--f--+ + +^++M-»- + + + + 

- 55- SS- 35+ -•-•-• + + + +—•*■ + + ?*+ ♦J^SsS^!":! 1 ** 

-.%»-.-.^-.%+ 

... .Is;-. .«*.».-.-. - 

8-.+ — +s«+ — ♦♦*♦♦- 



. -Ji^++ + 

, + + +** 









+ ♦ + + ■♦• + 



+ ♦ 



+ ♦ 



♦ ♦as?-- 



+ + +JSJ+ + •♦••♦•■♦■■♦••♦■+}'« 



%♦>♦■ •*■!«« + •► ♦!<♦ + ♦•♦• ♦ 



j Sf .. + + + 

■ ■-*+--•+ + 



•*■•*■ 



?<_ 



+ ♦ + +>*NS!vJM»<S^Jv«J<$<**« 



+ + + + +-.-»■ + + +% + ■•-^s^:?^;^{^i^:^;^^^a^^:^^^^^^^^^^ 






♦ ♦ + 






5ki : t *.+ + 1 - .+ ♦ +rzr- :.:+'+++*+++»<+++ hSs: + v v + ^^^s^ 



♦ — +♦ 



^s^S^s?*:* 



.«: + %%*%-.-.-++»-•+ + + + + + +J>!^W^:^ 



-•♦♦♦»^8^^^e>«^S^!^!^!^e^t++^*^+♦ + + + ♦ + ♦♦♦♦ +^+ + 



>^i%77":-:-. t +*t ft t± t ♦«■+** i iSBBfiaftftftaftaaft?*** ti 



Mtt*S-- 



+ 

•-• + - — • 



.-.-..+ +}« + + + + + + + + +J^ + + •♦■•»■!'*>!!<♦ ♦ + + + ♦ + + ♦ + 



a«!><S'$i > >s!x!:'>MMMit^:vs^ 



++ 







73 



How Was I 
Yesterday? 



Yesterday was a disaster; an intellec- 
tual, physical, and emotional blight! I 
changed the password of my time- 
sharing account to a fruit that I cannot 
recall. I struck out (not once, but twice) 
in a slow-pitch softball game. I cried 
during a Daffy Duck cartoon on TV. 
How could this happen? Why me? The 
explanation is as close as my latest 
computer-generated biorhythmic 
calendar. My bio index was a paltry 
927! 

The theory of biorhythms, which has 
been around since the late 1800s. 
speculates that each person is guided 
by three cycles that begin at birth. The 
intellectual, physical, and emotional 
cycles are each sine curves with 
amplitude one and periods of 33, 23, 
and 28 days, respectively. 

Biorhythms are open to a plethora of 
interpretations. That statement, 
coupled with the simple-minded struc- 
ture of the periodic functions represen- 
ting the three cycles, places bio- 
rhythms on a par with astrology. 
However, using biorhythms as a pos- 
teriori corroboration of events is a 
pleasant diversion. To facilitate this 
biorhythmic hindsight, a calendar with 
graphs of the three cycles and a nu- 
meric bio index is useful. Interpreta- 
tion of a day with bio index i can be 
made according to the continuum: 



RUN 



BLEAK 



BRIGHT 



Below are interactions with BASBIO 
and APLBIO, programs that generate 
biorhythmic calendars. 

It is apparent from these biorhythmic 
calendars that yesterday, August 19, 
found my intellectual, physical, and 
emotional cycles simultaneously low, 
yielding the inferior bio index ot 927. 
My yesterday was indeed grim. 
Generate a biorhythmic calendar for 
yourself and see if your yesterday was 
gloomy or great. 



"Dept ol Quantitative and Information Science. 
Western Illinois Univcr Macomb. IL 61455 



SRU 



.0, 



77/07/11. 13.10.34. 
PROGRAM BASBIO 

ENTER NAMF 
? JD ROBERTSON 
ENTER BIRTH DATE 
10,9,1943 MEANS OCT 9, 1943 
? 10 9 1943 

ENTER MONTH AND YEAR FOR BIORHYTHMIC CALENDAR 
4,1977 MEANS APR 1977 
? 8,1977 
BIO 
INDEX 

69380 

76886 

83274 

88107 

91022 

91744 

90201 

86337 

80316 

72421 

63052 

52710 

41966 

31425 

21694 

13340 

6857 

2632 

927 

1855 

5377 

11302 

19299 

28917 

39613 

50786 

61812 

72081 

81037 

88208 

93231 



EP 



EP 



I 
I 

IPE 
PI 
E I 

EP 
E 



PE 



PI 



IP 



I P 



I 
I 
E I 
IE 
E 
P E 
EP 
E P 
E P 



I 

F 



P 
I 

E 



T 
F 



E I 



E I 



JD ROBERTSON 



2.060 UNTS. 



RUN COMPLETE. 



AUG 
1977 



1 
2 
3 
4 
5 
6 
7 
8 
9 



M 

TU 

U 

TH 

F 

SA 

SU 

M 

TU 



10 W 

11 TH 

12 F 

13 SA 

14 SU 

15 M 



16 


TU 


17 


W 


18 


TH 


19 


F 


20 


SA 


21 


SU 


22 


M 


23 


TU 


24 


U 


25 


TH 


26 


F 


27 


SA 


28 


SU 


29 


M 


' 30 


TU 


' 31 


U 


+ 








74 






CREATIVE COMPUTING 



or 



Biorhythmic 
Hindsight 



J.D. Robertson' 



FRIDAY 



^\ V 



V 





JAN/FEB 1978 



1 ' "''^ ~ 

?7/< L5 34.31. 








H00 


DIM PI (23) »P2<23) -El (28) rE2<28) r 


53) 


L10 


DIM W*(7)»L*<41 >-MM [) 




00120 


OAT A SUrHtVJ-Uf IH,F .<;A 




ooi 


DATA JAN r FEB r MAR . APR r MAY r JUN » IUI 


,SEP»OCTrNOVrDI C 


00140 






00150 


P2<N>»SIN(4 5307*(N 




00 1 


PKN 




0C" 






00 : 


N 1 T 28 




00' 


: 5t85307*(N-l )/28) 






E1(N) ! :" ' !1 . ,= i + ?0*E?<N) ) 




.'•0210 


NEXT N 




00220 


FOR N=l TO 33 




Oi 


I2(N>=SIN(4.28 '*< N 1 i 




00240 


1 1 ( N ■ ( N > ) 




00250 


NEXT N 




■:;<60 


i or N 1 rn 7 






D U*(N) 






I N 




■ 


i OR N I Hi i ' 




i 500 


READ M*(N) 




00310 


NEXT N 




00 


1 OR M = 1 TO 41 




"0330 


L»(N>-' ■ 




00340 


NEXT N 




00350 


PR TNT 'ENTER NAME" 




003A0 


INPUT N* 




00370 


PRINT "ENTER BTRTH DATE- 




00380 


PRINT "10,9.1943 MEANS OCT 9 . 


00390 


INPUT MrDrY 




00400 


PRINT "ENTER MONTH AND YEAR FOR 


BIORHYTHMIC CAI ENDAR* 


00410 


PRINT "4 r 1.977 MEANS '7' 




00420 


INPUT M4.Y4 




00430 


GOSUB 1 




00 440 


M-M4 






H 1 




00460 






00470 


BOSUB 00980 





75 



m 












00480 

00500 
00510 

n 0520 

00580 
00590 

00610 
00620 
00630 
00640 

00660 

00670 

00680 

00690 

00700 

00710 

00720 

00720 

00740 

00750 

00760 

00770 

00780 

00790 

00800 

00810 

00820 

00830 

00840 

00850 

00860 

00870 

00880 

00890 

00900 

00910 

00920 

00930 

00940 

00950 

00960 

00970 

00980 

00990 

01000 

01010 

01020 

01030 

01040 

01050 

01060 

01070 

01080 

01090 

01100 

OHIO 

01120 

01130 

01140 

01150 

01160 

01170 

01180 

01190 

01200 



■I i 
GOSUB 
51 
IF M4-12 THI 

IB OHIO 

N3 

tf =M4+1 
BOSUB OHIO 
L1«N3-S3 
SI +1 

! B+l 11 



" PT0TrAB<56);M*<M4> 
■ INDFX' JTAB<54)fY 

TAB<9)?'- 

* + ' 



PRINT 

PRINT 

PRINT 

PRINT 

V=0 

FOR I=B TO F 

■-(.<( 1 

J3-I-1 

Kl-INT<J3/23) 

J3-(K1*23)+1 
K3=INT<J3/28> 
K4»J3-<K3*28)+1 

K<4=J3-(K5*33>+1 
P-PKK2) 

0=F1(K4> 
R-tl(K6) 
P !<K2)+E2<M>+I2<K6) 

0=INT (l6666*<0+3>) + 1. 

Lfcm)-' ■ 

L*(P>='P" 

L*<Q) "F" 

L* ( R ) ■ • I ■ 

PRINT 0»TAB<10)I 

FOR N=l TO 41 

PRINT TAB<7)?L*<N)r 

NEXT N 

PRINT TAB(54>;v;TAB<58) fU*(N2) 

L*(P)=" ■ 

L* ([»)=■ ■ 

L»<R)=>' " 

N2-N2+1 

IF N2<8 THFN 00930 

N2 = l 

NEXT I 

PRINT 

PRINT 

PRINT 

STOP 

IF H<3 THEN 01020 

Ml=M-2 

Y1=Y 

60 TO 01040 

M1=M+10 

Y1=Y-1 

C=INT<Y 1/100) 

D1=Y1--(C*100) 

N4=INT((13*Ml-l)/5)+D+Dl+INT(Dl/4) 

N=N4+INT<C/4)-2*Cf77 

Nl =INT(N/7) 

N2=N-(N1*7> U 

RETURN 

iJT(Y/4) 
Y3=Y-(Y2*4) 
IF Y3=0 THEN 01150 
GO TO 01250 
Y2=INT(Y/100) 
Y3=Y-(Y2*t00) 
IF Y3=0 THEN 01190 
GO TO 01230 

INT<Y/400) 

i <Y2*400> 



TAB(9)f "- , O'f 

■ + " 

TAB (23) ?N* 



76 



H 



CREATIVE COMPUTING 






01210 

01230 
01240 

01260 
01270 
01280 
01290 
01300 
01310 
01320 
01330 
01340 

01360 

01380 

01390 
>1400 
1 1 1 
01420 
01430 
01440 
01450 
01460 
READY. 



II 
GO 

I I 
(!H 
I 1 

Nl 

I 

II 
II 

Q| I 

I 

u s 

Rl 

II 
HI 

Y! 

80 

Ml 
Yl 

IH 

I 

L N 



Y3=0 THEN 01230 

TO 01250 

I 

TO 01260 

=INT( (3055*(M+2))/100)-91 


M<3 THFN 01330 

L1=0 THEN 013 
1 

TO 01330 



N1 + 
rilRN 

M<3 

M-3 

Y 

TO 
--M+9 
»Y-1 
TNT( 

r=Yl - 

TNT( 
N+17 
TURN 
D 



ii I 
THEN 01390 

01410 



Yl/100) 

(C*100) 

n.46097*C>/4)+n+TNT<(1461*ril)/4) 

21119+INT<(153»Hl+2>/5) 



AfLblU 














t.nt rt/iftfc 














</ u tiObbtiT&Oa 














anibn blhTa l/Atb 














10 9 1943 MbAUb 


<JCI 9 


, 1943 










b: 














10 9 1943 














t.nic,l\ hUntn hHU 


IbAh 


truh blOhuYTuhlC CALbUUAh 






4 1977 MaAuS Afh 


1977 












b: 














8 1977 














blU 












AUG 


iBObX 












1977 














01 M 


69360 




f 




b 


1 


76686 




t 




b 


1 


02 ro 


83274 






f 




b I 


03 U 


88107 








f 


lb 


04 Ttt 


910 2 2 










I b 


05 A 


91764 








I 


f b 


06 SA 


90201 








I 


bf 


7 SU 


86337 






I 




b f 


08 M 


80316 






1 




b t 


09 . 


72421 




I 




b 


f 


10 tf 


63062 




I 




b f 




u Ta 


52710 




1 


b 


f 




12 F 


41966 


I 




1 t 






13 HA 


3142b I 




bt 








14 SO 


21fa94 I 




bf 








15 h 


13340 1 


tb 










16 TU 


Obbb7 i fi 












17 rf 


026 3 2 lfb 












18 TU 


009 27 fl 












19 t 


01bb5 b 1 












20 SA 


05377 bf 1 












21 SU 


11302 b tl 










22 M 


19299 b 


If 








2 3 TU 


26917 


b 


I f 








24 U 


39613 




b I 


y 






2 5 TU 


50786 




b 


i t 






26 *' 


61812 






i i 


f 




27 S/5 


72061 






b 


I 


t 


28 SU 


61037 






. 


b I 


f 


29 Af 


8820b 






• 


b 1 


f 


30 TU 


93231 






. 




I f 


31 tf 




















JU ho 


bbhTSOU 







JAN FEB 1978 



77 









\AfLblO [UV 

lAtlblU ; H ;A ; L ; V ; A ;*' ; f ; b ; 1 ; ;S ; LiAi 
[ 1 j 'bniak NAHb ' 

L2] w«-l!, 

[3J 'i»n* iiATfl bATb • 

[*i '10 9 19U3 AlA/lAi OCf 9, 1943' 

[5] M-L 

[6] '6*:<AA AiC/AiTa ADO ibAk tOk blOkttttUMIC CALb/ll/Ak' 

17] '4 1977 AAilAS j4/-A 1977' 

[8J H*U 

L9J L-31 

[10] ■*bAlr*\A[ll = 12 

L 11 J L-Ui//IMA[l] + l).l,A[2]Wf//IJ' *[1].1.A[2] 
L12] bKir-.ti-rUJLn #[l].l,#[2])-irfL* « 
L13] • *■ 1+6+iL 

[14] f*10Ut2)«23U)»23 

L lb j 4*lCUfc2)«28l/)»28 

L 16 j /*10UC2)x33lK)»33 
L17J • blO< ;HSp< r ;(12 3 

p '</AnfbbnAkAtkMAirjUnJULAuai>bfOCTI»OVbiC' ) [#[1]; ] 
Lib} " IrtObX ' ,l47p' ') . '0123456789'[1*10 10 10 10TA[2]] 

Ll&J ' -'.120P'. , ). , 0'.(20P I . '),'+' 

[20] A*l 

[21j OultuT-.LlNb^Ulp' ' 
L22J C/-I 16666x3 + HA]+A[A]+i[A] 

[23] ii/r6[21]«-' . • 

[24] Li*fc[21 + [0.5 + 20xf[A]]'«- , i" 

L 25 J L-ZAfi[21 + [0.5 + 20xAU]]*-'A ' 

[26] Li*A[21*L0.5 + 20x2[A]>'.Z • 

L27] • '.I '01234S6789'[l + l5pl0)TG]). ' '.Llltb,' 

I '0123456789'[H-10 IOTA]),' ',,17 2p'£</« TJH TtlF SA , )l\*Ii,Lk 
J .A,A[2]; J 

[28] +OUTruTx \LZA+K*1 

C 29 J * -' ,l20p' .'), '0' ,l20p' .*),'+ ' 

£30] U31-I O.SxpiOp' •) ,* 

V 



Nil 



11] 

[2] 

13] 
[4] 
[5] 
Lb] 
17] 



LI] 
[2] 
L3] 
[4] 
[5] 



LI J 
L2] 
[3] 



tlj 



Viii,A[b]V 

Va*JzLA NiH;C;b;t 

A-U*[l]<3),lA[l]i3))/l*[l]-U0),*[l]-2 

jr**[3]-*[l]<3 

Ol/MOO 

i/«-100U 

A-L l~l+13xfc)*5 

k-h *tl [ 2 ] *U* [I // ♦ 4 ) ♦ L (C ♦ 4 ) - 2xC 

A*7|A 
V 

Vi^i/»[Li]V 
tk+ULtt N;M;C;b;H 

A*U«[l]<3).lA[l]i3))/lA[lJ*9),*[l]-3 
/**[3]-#[l]<3 

C'«-L/»100 
//♦100IJ' 

A«-17 21119+A[2] + Ull46097xC)»4) + l[U461xI,)»4) + [(2+15 3x«)»5 
V 

VIl/AXlLlV 

Vk-IOAX N;H;L 

*f-0 31 59 90 120 151 181 212 243 273 304 334 

L-lLbAt A[3] 

A*fc< L* [ 1 ] ] +# [ 2 ] ♦£ xa [ 1 ] > 2 
V 

*/LAi4i'[Lj]V 
Sik-lLbAf X 

A*l=2l+/0=4 100 400IA 
V 



78 



CREATIVE COMPUTING 



Get updated . . . keep updated with 




BOTE 

the leading magazine in the 
personal computer field 




The personal 
computer 
age is here. 

Join Byte's 110,000 sub- 
scribers and catch up on 
the latest developments 
in the fast-growing field of microprocessors. Read 
BYTE, The Small Systems Journal that tells you 
everything you want to know about personal com- 
puters, including how to construct and program 
your own computer (over 30,000 BYTE readers 
have already built, or bought, their own systems 
and half of these have 8K bytes or more ) . 
You'll find our tutorials on hardware and software 
invaluable reading, also our reports on home ap- 
plications and evaluative reviews based on ex- 
periences with home computer products. 



Home computers 
. . . practical, 
affordable. 



Large scale integration has 
slashed prices of central 
processors and other com- 
puter components. This has encouraged the devel- 
opment of new, low-cost peripherals resulting in more 
hardware and software — more applications than you 
could imagine, more opportunities for you. BYTE brings 
it all to you. Every issue is packed with stimulating and 
timely articles by professionals, computer scientists and 
serious amateurs. 

BYTE editorials explore the fun of using and applying 
computers toward personally interesting problems such 
as electronic music, video games and control of systems 
for alarms to private information systems. 



Subscribe now to BYTE . . . The Small Systems Journal 



Read your first copy of 
BYTE, If It's everything you 
expected, honor our in- 
voice. If it isn't, just write 
"CANCEL" ocross the in- 
voice ond mail it back. You 
won't be billed and the 
first issue is yours. 

Allow 6 to 8 wicks for Processing. 



Byte Publications, Inc. 1977 






BYTE Subscription Dept 84 • P.O. Box 361 • Arlington. Mass. 02174 



PLEASE ENTER MY SUBSCRIPTION FOR: 

a One year $12 (12 issues) □ Two years $22 □ Three years $32 

□ Check enclosed (entitles you to bonus of one extra issue) 

□ BID me Q Bill BankAmertcaroWlsa D Bill Master Charge 

Card Number I I I I I I I I I I I I I I I Expiration Date: 

Signature: Name tP^o^ P**> 

Address 

q^j. . State/Country 

FOREIGN RATES FOR ONE YEAR: (Please remit in U.S. Funds) 

□ Canada or Mexico $17.50 (Air delivered) Q Europe $25 (Air delvered) 
D All other countries except above: $25 (Surface delivery) 

Air delivery available on request 



BITE 



Code:- 



M 



r 



] 



Grammar 

as a 

Programming 

Language 



Neil Rowe* 



1. Introduction 

A number of interesting projects involving such things M computer-generated sentences, poems, 
and stories hava baan presented racantly in th.t magazine. 1 To perhapt clarify the similarities underlying 
the., project., I would like to propose a framework useful for such projects and others like them. This 
framework is the notion of a generative grammar. While grammars are usually associated with linguistics, 
their usefulness goes far beyond just language" to many different domains. Their application is general 
enough to make grammars a sort of programming language in the.r own right. 

A simple grammar-running control structure is presented, uncomplicated and very suitable for 
student tinkering. So not only can students write grammars, but they can modify and improve the grammar 
interpreter .tself, learning something about how a simple kind of computer parser works. 

2. A one-command computer language 

Consider the control structure as a one-command computer language. (See Appendix for details 
of en implomentat.on in the language Logo 2 - 3 .) The R Crufe" or -replace-) command can be e.pressod es a 
function (or procedure) with two list arguments: 

R [NAME] [XX.] 
Th, command works always on a single list (string) of words. It replaces in this list particular words by 
other particular words. That above command, for instance, says to look for all occurrences of the word 
NAME in the list and change them to JOE. We can also replace one word by several: 

R [NAME] [THE PRESIDENT OF THE UNITED STATES] 

Oftentimes you're going to want to make chokes when replacing stuff. That is. you wont always 
want to replace NAME with the same name JOE. We might want for variety to replace it occasionally with 
TOM, OICK. or HARRY. We can write: 

R [NAME] [(JOE TOM OICK HARRY)] 
The parentheses mean for the computer to choose only one of the things inside them. 

We can combine the brackets and parentheses in commands: 

R [NAME] [(JOE TOM OICK HARRY) C (JONES DOE 0OAKES1] 
which rapleces NAME by JOE a JONES, or HARRY C. 00E. etc. Or w. can put bracket, within nil ■■<■■■■■! 

R [NAME] [(JOE [TERRIBLE TOM] [OICK THE INSURANCE SALESMAN] HARRY) C. (JONES DOE 
DOAKES)] 

Remember, bracket, mean use everything inside them; parenthe.0. mean choose one and only one of the 
things inside them. 



'Artificial Intelligence Laboratory. Massachusetts Institute of Technology 




80 



CREATIVE COMPUTING 



3[ 



1 



3. Writing sentenoes 

R commands by themselves aren't loo interesting. You have to apply several in sequence — a 

"grammar". Here's a way lo create simple English sentences: 

TO SIMPSENTENCE 

10 R [SIMPSENTENCE] [NOUNPHRASE VERBPHRASE] 

20 R [VERBPHRASE] [VERB NOUNPHRASE] 

30 R [NOUNPHRASE] [((DETERMINER ADJECTIVE NOUN] NAME)] 

100 R [VERB] [(LIKES HATES BOTHERS BEFRIENDS)] 

1 10 R [DETERMINER] [(A THE SOME)] 

120 R [ADJECTIVE] [(BIG TINY CHEERFUL SAD HAPPY GREEN PERPLEXED)] 

130 R [NOUN] [(BOY GIRL COMPUTER ROBOT MARTIAN)] 

140 R [NAME] [(TOM DICK HARRY SALLY SUE SANDRA)] 

ENO 

which can generate sentences like) the following: 

THE CHEERFUL ROBOT BOTHERS SOME SAO GIRL 
TOM LIKES THE GREEN COMPUTER 
A HAPPY MARTIAN BEFRIENDS SALLY 

The nice thing is that you can add new features quite easily to this sentence generator. For instance, you 

can get sentences like 

SOME BIG BOY IS SAD 

A CHEERFUL ROBOT IS PERPLEXED 

SANDRA IS CHEERFUL 

by just changing line 20 to: 

20 R [VERBPHRASE] [([VERB NOUNPHRASE] [IS ADJECTIVE])] 
And you can include adverbs in your sentences. Change line 20 to: 

20 R [VERBPHRASE] [ADVERB ([VERB NOUNPHRASE] [IS ADJECTIVE])] 
and add a line 90: 

90 R [ADVERB] [(OFTEN SURPRISINGLY PERHAPS DUTIFULLY)] 

Exemples: 

DICK OFTEN IS HAPPY 

A GREEN GIRL DUTIFULLY BEFRIENDS THE BIG ROBOT 

4. Cyclic rule application 

Suppose we want to allow an indefinite number of adjectives in front of the noun, like 
THE BIG HAPPY GREEN ROBOT 
which we might eipect to do by 

30 R [NOUNPHRASE] [([DETERMINER ADJSTRING NOUN] NAME)] 
35 R [ADJSTRING] [ADJECTIVE (ADJSTRING [])] 

(The bracket pair [] means the "empty list" or the "list of no elements". If it is chosen instead of 

ADJSTRING, ADJSTRING will be replaced by only ADJECTIVE.) The intent ol line 35 is to just keep piling up 

adjectives in tront of the noun until the rendom choice manages to choose the second choice. 

But line 35 wont work because the both arguments contain the word ADJSTRING. Thus when you 
ere done with line 35, there may still be AOISTRINCs in the string, and that's not what we want. What we 
really want then is to apply rule 35 again. One way to do this is just to apply the rules repeatedly, until 
on eny particular time thru the rules you haven't been able to make any substitutions. Then you're done. 
(See the Appendix.) 

Making the necessary changes to the control structure, we can now get: 

THE GREEN PERPLEXED ROBOT SURPRISINGLY LIKES SOME TINY SAD BOY 
SUE PERHAPS HATES A BIG GREEN HAPPY MARTIAN 

Now suppose we want to have compound sentences, sentences composed of two subsentences 




= 1 



JAN FEB 1978 



81 




joined by a word like "and". Change line 10 to read 

10 R [SIMPSENTENCE] [NOUNPHRASE VERBPHRASE ([) [(AND BUT SINCE THOUGH) 
SIMPSENTENCE])] 
giving: 

THE TINY HAPPY ROBOT OFTEN LIKES SANDRA AND TOM SURPRISINGLY IS SAD 
and ao on. Thar* ara many pottibilitiet lor lurlhar davalopmant. 

So hero's our naw improvad aantanca generator: 

TO SIMPSENTENCE 

e. l -e«J r ^, [ , SIMPSENTENCE] (NOUNPHRASE VERBPHRASE ((] [(AND BUT SINCE THOUGH) 
blkePSENTENCE])] 

20 R [VERBPHRASE] [AOVERB ([VERB NOUNPHRASE] [IS ADJECTIVE])] 

30 R [NOUNPHRASE] [([DETERMINER ADXIST NOUN] NAME)] 

35 R [AOAIST] [ADJECTIVE ([] AOJLIST)] 

40 R [VERB] [(LIKES HATES BOTHERS BEFRIENDS)] 

50 R [DETERMINER] [(THE A SOME)] 

60 R [ADJECTIVE] [(BIG TINY HAPPY SAO GREEN PERPLEXED)] 

70 R [NOUN] [(BOY GIRL COMPUTER ROBOT MARTIAN)] 

80 R [NAME] [(TOM DICK HARRY SALLY SUE SANDRA)] 

90 R [ADVERB] [(OFTEN SURPRISINGLY PERHAPS DUTIFULLY)] 

END 

5. Writing poetry and the R.ONCE feature 

Consider the problem ot writing poame in which (ho laat ayllablaa of the lino must rhyme. Wa 
could try 

TO LIMERICK 

10 R [LIMERICK] [A A B B A] 

20 R [A] [DOWN UP DOWN UP DOWN RHYME1] 

30 R [B] [DOWN UP DOWN RHYME2] 

40 R [RHYME1] [(DATE FATE WAIT SATE SMELL BELL HELL WELL BROKE COKE JOKE YOKE)] 

50 R [RHYME2] [(FEAT BEAT SEAT HEAT WAY SAY BAY HAY MOOD FOOD STEWED RU0EI1 

60 R [DOWN] [<UH AH ER 1R AN UN IS US AW E>] ' 

70 R [UP] [(MEAN PROTE VAST SPRILL TRAMMED SLOOSED POUNT GRASP DRUNK)] 

END 

but thia rum into a problem: each time the interpreter substitutes lor RHYME1 or RHYME2, it will choose a 
new word. That it, wa have no way to force a rhyme. 

It seems what we need is a "new R command - , call it R.ONCE, that works just like the old, except it 
only chooses once per cycle. (See the Appendix.) Using it we can rewrite our limerick-writing program 
thia way: 

TO LIMERICK 

10 R [LIMERICK] [A A B B A] 

20 R [A] [DOWN UP DOWN UP DOWN RHYME1] 

30 R [B] [DOWN UP DOWN RHYME2] 

40 R.ONCE [RHYME 1] [(ATE ELL OKE>] 

50 R.ONCE [RHYME2] [(EAT AY 000)] 

100 R [ATE] [(DATE FATE WAIT SATE)] 

1 10 R [ELL] [(SMELL BELL HELL WELD] 

120 R [OKE] [(BROKE COKE JOKE YOKE)] 

130 R [EAT] [(FEAT BEAT SEAT HEAT)] 

140 R [AY] [(WAY SAY BAY HAY)] 

150 R [000] [(MOOD FOOD STEWED RUDE)] 

200 R [DOWN] [<UH AH ER IR AN UN IS US AW E)] 

210 R [UP] [(MEAN PROTE VAST PRILL TRAMMED SLOOSED POONT GRASP DRUNK)] 

A sample limerick: 

AH GRASP UN POONT E DATE 

AN SLOOSED IR POONT UH SATE 

ER VAST AN FOOD 

UN PRILL IS STEWED 

AW PROTE IR TRAMMED US FATE 

8. Writing musio 

Here's a program that writes melodies according to a few simple harmonic schemes. It first 




82 



CREATIVE COMPUTING 



r 



] 




chooses a harmony lor each measure, than conatruclt measures to lit that harmony. To make ita melody a 

little more unified, it uses R.0NCE to make sure that measures with the same harmony have the same 

rhythm. The linal string consists ol pitches (C, 0, E, F, G, A, B, or CO alternating with durations (Q 

(quarter), H (hell). OH (dotted hell), or W (whole) notes). 

TO MELODY 

10 R [MELODY) [CCHORD (CCHORD GCHORD FCHORO) CCHORO ([CCHORD GCHORD OCHORO] 
[GCHORD DCHORD GCHORD] [GCHORD CCHORO FCHORO]) GCHORD CCHORO] 

20 R.ONCE [CCHORO] [([CNOTE W] [CNOTE OH CNOTE 0] [CNOTE H CNOTE CNOTE 0))] 

30 R.ONCE [GCHORD] [([GNOTE H GNOTE H] [GNOTE Q ORONOTE Q GNOTE Q ORDNOTE Q]» 

40 R.ONCE [FCHORO] [([FNOTE H FNOTE H] [FNOTE Q ORONOTE Q FNOTE ORONOTE 0])] 

50 R.ONCE [DCHORO] [([ONOTE H ONOTE H] [ONOTE Q ORONOTE DNOTE ORONOTE Q])] 

100 R [CNOTE] [<C E G CC>] 

1 10 R [GNOTE] [(0 G B>] 

120 R [FNOTE] [(C F A CC)] 

130 R [ONOTE] [(0 F A)] 

140 R [ORONOTE] [(0 E F G A B>] 

END 

Semple melodies are given in Fig. 1. 



T. Drawing a robot face 

We can apply the idea ot a grammar to drawing designs too. Consider the problem ol drawing 
with a "turtle" that can either move forward a certain amount (abbreviated FO) or turn right a specified 
number ol degreea (abbreviated RT). When moving lorward, he can either leave a line behind him 
(PENOOWN mode) or not (PENUP mode). So to draw a rectangle: 

FO 10 RT 90 FD 20 RT 90 FO 10 RT 90 FD 20 RT 90 

Ufa write a grammar to draw "robot* faces Well use a large square lor the head, small squares 

lor the eyes, end small rectangles in a row lor the teeth We make choice* as to whether to have e tell 

hoed or a square head, have the eyea end mouth high or low in the heed, end whether to show the teeth in 

the mouth. 

TO FACE 

10 R [FACE] [HEAO (SETHIGH SETLOW) EYES MOUTH] 

20 R [HEAD] [(TALLHEAD SQUAREHEAD)] 

100 R [EYES] [EYE SETUPEYE2 EYE] 

200 R [MOUTH] [SETUPMOUTH (OPENMOUTH SIXTEETH)] 

210 R [SIXTEETH] [TOOTHPLUS TOOTHPLUS TOOTHPLUS TOOTHPLUS TOOTHPLUS TOOTHPLUS] 

220 R [TOOTHPLUS] [TOOTH PENUP FD 10 PENOOWN] 

300 R [SETHIGH] [PENUP FD 80 RT 90 FD 20 PENOOWN] 

310 R [SETLOW] [PENUP FO 50 RT 90 FD 20 PENOOWN] 

320 R [SETUPEYE2] [PENUP FO 40 PENOOWN] 

330 R [SETUPMOUTH] [PENUP FO 19 RT 90 FO 55 RT 90 PENOOWN] 

END 

whore the remaining undefined words are just rectangles and squares ol the appropriate site. Sample 

leces are given in Fig. 2. 



DO 





DO 


aa 




aa 


no 



aa 



8. Drawing hydrocarbons 

We can use grammars to explore some aspects ol chemistry. Consider the following grammar lor 

drawing some hydrocarbons: 

TO HYDROCARBON 

10 R [HYDROCARBON] [MARK "C" CHAIN LT 90 CHAIN LT 90 CHAIN LT 90 CHAIN LT 90] 
20 R [CHAIN] [(HA TOM HATOM HATOM HATOM HATOM CATOM C2ATOM)] 
30 R [HATOM] [SHORTOASH MARK *H" RT 180 SHORTOASH] 

40 R [CATOM] [DASH MARK "C* LT 90 CHAIN LT 90 CHAIN LT 90 CHAIN LT 90 DASH] 
50 R [C2ATOM] [DASH MARK "C* LT 90 CHAIN LT 90 DOUBLEDASH MARK "C" LT 90 CHAIN LT 90 
CHAIN DOUBLEDASH OASH] 
END 



[ 



]R 



JAN/FEB 1978 



83 



r 



] 



where MARK it • commend that draws • letter, and where DASH, SHORTDASH, and DOUBIEDASH ara defined 
in the obvious way. 

The grammar builds up a molecule by starling with a carbon atom and attaching to each of iti tour 
tides either a hydrogen atom, a tingle-bonded carbon atom, or a double-bonded carbon atom pair. In the 
case of the last two, the process is repeated tor bonds of those carbon atoms. Note that since the entire 
molecule must be drawn by a step-by-step process, 'becking up" must be done at times. 

Some sample chemical structures are given in Fig. 3. 



H 
H-C-H 



H-C: 
H 



H 
i 

-C-H 



H 

H-C-H 
i 

H 



H 

i 

H-C- 
i 

H 



-C- 
i 

H 



H 
i 

-C-H 
i 

H 



C-H C- 



H 
i 



H 
i 

:C-H 



C-H C-H 
i 

H 



C-H 
i 
H 



8. Additional projects 

Try writing grammars for the following. 

1. Simple stories, e.g. fables 

2. Newspaper stories 

3. Advertisements 

4. New words (that sound like English, 04, not like "ggnxyqprt") 

5. Something like SIMPSENTENCE but with subject-verb agreement in number (singular vs. plural) 

6. Or ability to use "an" and "a" properly 

7. Or ability to tubttitute a pronoun (the correct one) occasionally 

8. Sentences in some foreign language 

9. Musical melodiet bated on melodic (rather then harmonic) considerations 

10. Passacaglias on a given ground (see a music theory book) 

1 1. Rondos where the tectiont are all in ternary form (ditto) 

12. Apartment houses of random size and shape, with thadet drawn for random windows, plants in 
the window for random windows, etc. 

13. "Snowflake" curvet (tee Fig. 4) 

1 4. Treet and bushes (find out something about how real ones grow) 

15. A different kind of chemical structure 

16. The physics of bubble chamber particle tracks 

1 7. Some kind of electronic circuit diagrams, perhaps digital logic 

18. Numbers which are powers of 2 

19. Composite (not prime) numbers 

20. The English names of numbers up to 100 billion 

21. "Agendas" for your daily activities 

22. Computer programs in some particular computer language S^*-f*^ 




i> 



o 



r 



IB 



84 



CREATIVE COMPUTING 



r 



] 



lO. Further oontrol struoture modifications 

At you may observe, on* of the nicest things tboul this system it the relative otto of making 
changes to the control structure (or interpreter), thtnkt to itt relative simplicity. Fool froo to experiment. 
Do some reading about linguistics. ** 

For one, it might be nice to have conlext-tentitivity of a tort: have rules that replace a ttrine. of 
words by a tiring of words. For inttance, we could generate Fibonacci numbers by the following: 

TOFIBO 

10 R [FIBO] [A . B) 

20 R.0NCE [A] [<1 NEW8)] 

30R(1 ♦B][l ♦ 1] 

40 R[B . 1][1 . 1] 

50 R [B] [FIBO] 

60 R [NEWS] [B] 

END 

The resulting ttring consists of alternating l't and ♦'a, like 1 ♦ 1 ♦ 1 ♦ I ♦ 1. While it it being generated. 

the number of A"t repretentt the nth Fibonacci number, the number of B"t the <n»l)th Fibonacci number, 

and hence the total number ol letters the (n.2)th Fibonacci number. 

Another idea might be to have symbols that match more then one word — like something called 
ADJECTIVE that matches any adjective. Or you could try to introduce something like a linguittic 
transformation; tee the references. 

A different interesting project it to turn the grammar around* end use it to analyze strings of 
words, rather than create them. For inttance, it a given timple sentence grammatical English? Or does e 
given picture of e face show teeth? A way lo do that is to start with a string and the last rule of a 
grammar. You then try to find a match between things in your string and the second argument to the R 
commend. (If the second ergument contains choices, try every possibility.) |f you find a match, substitute 
the first argument. 
11. Acknowledgements 

The idaat presented here are not particularly original. There it a large body of knowledge 
regerding grammars and parting within computer science. Ken Kahn had the idea of using grammars with 
Logo. Work of Ira Goldstein and Mark Miller 7 has emphasized the grammatical aspects of Logo 
programming in general. The language SN080L 8 has been an influence. There heve also been specific 
applications ol grammars. 9 ' 10,11 ' 12 - 13 Finally, I must acknowledge the work of Seymour Pepert end others 
in developing a new kind of learning environment based around Logo. 

Thanks to Hal Abelson, Andy DiSetsa, Ken Kahn, and Mark Miller for help with this peper. 
References 

1. The September-October 1976 issue contains four excellent articles of this kind; see also other 
issues. 

2. Seymour Papert, "Uses of Technology to Enhance Education", MIT Artificial Intelligence 
Laboratory Logo Group Memo «8, Juno 1973. 

3. Hal Abelson, Nat Goodman, and Lee Rudolph, Togo Manual", MIT Logo Memo e7, June 1974; or 
contact the author for a draft of his manual in preparation. 

4. Emmon Bach, Syntactic Theory. Holt, Rinehert, a Winston, 1973. 

5. Andreas Koutsoudas. Writing Transformational Grammars: An Introduction, McGraw-Hill, 1966. 

6. Barron Brainerd, Introduction to the Mathematics ol Language Study. American Elsevier, 1971. 

7. Ire Goldstein end Mark Miller, 'Intelligent Tutoring Programs: A Proposal For Research", MIT 



r 



] 



JAN/FEB 1978 



85 



m 



U 



flr 




Logo Group Working Paper «50, 1976. 

& James F. Gimpel, Algorithms in SN080L4. Wiley, 1976. 

9. William A. Woods, "Mathemeticel Linguistics and Automatic Translation*, Harvard University Aiken 
Computation Laboratory, Report No. NSF-19 (September 1967). 

10. David E. Rumelhart, "Notes on a Schema lor Stories", in Representation and Understanding, 
Bobrow and Collins, ed., 1975, p.21 1. 

11. Gahan Wilson, The Science Fiction Horror Movie Pocket Computer", in National Lampoon: The 
Paperback Conspiracy. Warner, 1974. 

12. Terry Winograd, "Linguistics and Computer Analysis ol Tonal Harmony", Journal of Music 
Theory. 12:1 (1968), p.2. 

13. A. C. Shaw, "A Formal Picture Description Scheme as a Basis For Picture Processing Systems", 
Inlormation and Control. 14, 1969, pS. 

Appendix: a Logo implementation 

TO SAY :PRCCNAME 

10 MAKE "STRING iPROCNAME 

20 RUN :PR0CNAME 

30 PRINT :STR1NG 

40 SAY :PR0CNAME 

END 

TO R :SYMB0L :REPLACEMENT 

10 MAKE "STRING MATCHREPLACE STRING SYMBOL 

END 

TO MATCHREPLACE STRING SYMBOL 

10 IF (EMPTYP STRING) OUTPUT STRING 

20 TEST ((F :SYMBOL) - (F :STR1NG» 

30 IFTRUE OUTPUT SENTENCE (EXPANSION REPLACEMENT) (MATCHREPLACE (BUTF1RST :STRING) 

40 1FFALSE OUTPUT SENTENCE (FIRST STRING) (MATCHREPLACE (BUTF1RST STRING) :SYMBOL) 
END 

TO EXPANSION STRING 

10 IF EMPTYP :STRING THEN OUTPUT [J 

20 TEST LISTP FIRST :STRING 

30 1FFALSE OUTPUT SENTENCE (FIRST STRING) (EXPANSION BUTFIRST STRING) 

40 IFTRUE OUTPUT SENTENCE (EXPANSION RANOCHOICE FIRST STRING) (EXPANSION BUTFIRST 

ENO 

TO RANDCHOICE :L1ST 

10 OUTPUT ITEM (RANDOM 1 (COUNT ilST)) ilST 

END 

(RANDOM gives a random integer in the range X through Yj ITEM the Nth item of list L) 
Cyclic rule application : 

TO CYCLETHRU :PRCCNAME 

10 MAKE "CHANGEFLAG "FALSE 

20 RUN :PROCNAME 

30 IF (CHANGEFLAG - TRUE) CYCLETHRU :Pr»CNAME 

ENO 

Change line 20 of SAY: 

20 CYCLETHRU :PR0CNAME 
And change line 25 of MATCHREPLACE: 

25 IFTRUE MAKE "CHANGEFLAG TRUE 

The R.ONCE feature : 

TO R.ONCE SYMBOL :REPLACEMENT 

10 MAKE "REPLACEMENT (EXPANSION :R£PLACEMENT) 

20 MAKE "STRING MATCHREPLACE STRING SYMBOL 

ENO 



SYMBOL) 



.STRING) 



[ 



J 



86 



CREATIVE COMPUTING 



197! 

BUSINESS and PERSONAL 

COMPUTER 

SALE & EXPOSITION 

City Line Holiday Inn 

Philadelphia, Pennsylvania 

3 BIG DAYS! 

February 2T ~ March 1 st , 1978 



A massive sales oriented 
exposition 



A major Philadelphia convention center will be 
transformed into a massive and uniquely 
comprehensive computer sales and information 
headquarters. 



This computer super sale and exposition will be 
combined with special workshops and seminars 



10 AM - 8 PM 



Over 20,000 sq. feet of sales exhibits 
Seminars and workshops 

ADVANCE TICKETS: $ 3.00 
TICKETS AT D00R:$ 6.00 



PRQDII X2QOO. inc. 8'x8' Floor Exhibit Space $325 

convention services department 4'x4' Table Top Space $200 



ROOSEVELT BLVO & MASCHER ST PHILADELPHIA PA 10120 



JAN/FEB 1978 



87 



Uo^ 



\o 



Vtf 



M 



computer 
simulation 



David H. Ah I 




a 



This article demonstrates how to 
write a computer simulation to be used 
for classroom instruction in some other 
subject. The object is not to teach 
about computers or computer 
programming; indeed very little 
programming knowledge is required to 
write a useful and effective simulation. 

Nor is the purpose of this article to 
set down guidelines for determining 
instructional objectives or choosing 
subjects appropriate for simulation. 
The booklet Designing Classroom 
Simulations by Glenn Pate and Hugh 
Parker, Jr., fulfills these needs nicely. It 
should be noted, however, that not all 
subjects suitable for a classroom 
simulation or game are equally suitable 
for one on the computer. 

For the most part, simulations and 
games have been found to be an 
extremely effective way of teaching a 
wide variety of subjects. Several 
studies have described the learning 
effectiveness of games (Allen, Allen, 
and Ross, 1970; Boochock and Schild, 
1968; Fletcher, 1971). Learning games 
also generally create an intense and 
often enjoyable interpersonal 
experience. This is due in part to the 
interdependent task structure that 
requires interaction among the players 
(Inbar, 1968). The rationale for 
computer simulations is very 
compelling given the unique ability of 
such models to compress time, 
duplicate expensive, massive, delicate, 
or dangerous equipment, and produce 
large sample sizes (Braun, 1972). 

However, lest we get overly ardent in 
using simulations, it should also be 
noted that certain things can be 
learned perfectly well by reading about 
them in a book, and to write a simula- 
tion is probably a waste of time to 
everyone but the writer, who will 
inevitably have learned more about the 
subject than when he or she started. 



88 



Presented at CCUC/5 (Conference on Computers 
in the Undergraduate Curricula) in Pullman 
Washington. June 1974 

CREATIVE COMPUTING 



The Subject 

In response to current events, 
subject for our computer simulation is 
electrical energy generation and 
usage. The objectives of this simula- 
tion are: 

1. To develop within the student the 
ability to recognize the need for 
advance planning and construction of 
electrical generation capacity. 

2. To develop within the student the 
ability to plan an economically and 
environmentally sound electrical 
generation policy using five major fuel 
sources — coal, oil, gas, nuclear, and 
water. 

Background Data and Assumptions 

After poring over innumerable 
reference sources, you will quickly 
discover that: 

1 . There are far more facts and data 
available than you can use. 

2. Several vital facts that you need 
are unavailable. 

Here you can either quit before you've 
wasted too much time, or fearlessly 
plunge ahead. With a surge of op- 
timism, we chose the latter course. 

Ultimately, the following facts were 
obtained: 

1. The demand for electricity is 
increasing 5.4% per year. In 1971, 
usage was 1.466 trillion kwh. 

2. Some mathematical gyrations 
indicate that to produce 1.466 trillion 
kwh requires approximately 308 
million kw of generation capacity plus 
a 20% margin of reserve (for extra-hot 
days, generator failures, emergencies, 
etc.) or a total capacity of 367 million 
kw. 

3. The amount of generating capaci- 
ty operational in 1971 is as follows: 





Generating 


Annual 


Fuel 


Capacity 

167 million kw 


Growth 


Coal 


6.7% 


Fuel Oil 


50 


7.4 


Gas 


87 


8.4 


Nuclear 


7 


54.8 


Hydro 


56 


5.2 


Total 


367 





FLOWCHART FOR ELECTRIC POWER GENERATION SIMULATION 



Instructions 



Set initial 
conditions 



Calculate fuel usage 
by non-power users 



Calculate luel usage 
tor power generation 




Yes 



Remove luel 
trom use 



User input amount 
ol new generation 
capacity to be added 



Calculate tuel costs 



Calculate estimated 
future demand for 
electricity 



Print output tables 



No 




Yes 



Calculate and print 
summary results 



4. Relationships between 
generation, fuels, and their supply is as 
shown in Table I. 



Figure 1 



Fuel 

Coal 
Fuel Oil 
Gas 

Nuclear 
Hydro 



Amount to 
Generate 1 Kwh 



.92 lb 
• .00183 lb 
10.6 cu ft 

.0000075 lb 

n/a 



TABLE I 

Fuel Cost 



Proven Reserves, 
United States 



$8.63/ton 
$9.00/bbl 
$0.44/1000 cu ft 
$530/lb 
$0.50/1000 kwh 



830 billion tons 
48 billion barrels 
286 trillion cu ft 
1.05 million tons 
190 million kw 



JAN/FEB 1978 



89 



Naturally, few of these numbers are 
constant over time. Since the simula- 
tion to be written will span a period of 
50 to 100 years, some of the trends will 
have to be taken into account. This 
leads into the uncharted area of 
assumptions. For example, increasing 
efficiency of power plants has reduced 
the amount of coal required to produce 
one kilowatthour of electricity from 
1.29 lb. in 1946 to 0.92 in 1971; an 
average reduction of 0.015 lb per year 
or a compound rate of 1 .3% per year. 
Will this continue? Who knows? Let's 
assume it will but certainly not to using 
zero fuel. As the model is formulated, 
one must be careful of these assump- 
tions and either put limits on the time 
period covered by the model or alter 
the trends and assumptions over time. 

Any computer model or simulation 
requires a fair number of assumptions 
if it is not to get completely out of hand. 
Here is a summary of the major 
assumptions used in this model. 

1. The demand for electricity will 
continue to increase at an annual rate 
of 5.4% per year. 

2. Efficiency of generators will con- 
tinue to improve as discussed above at 
a rate of 1.3% per year. 

3. The major cost variable in 
generating electricity using different 
fuels is the cost of the fuel itself. In 
other words, the capital cost for new 
generating equipment is about the 
same per kilowatt hour for a coal, oil, 
gas, or nuclear plant. (In fact, the costs 
range from $240 to $280 per kwh of new 
capacity which is remarkably close). 

4. Cost for additional hydro capacity 
depends greatly upon the cost of the 
dam which are generally built for 
irrigation as well as for power. Further- 
more, most dams are government-built 
and the cost figures are not com- 
parable with privately-owned utilities. 
However, due to environmental and 
other considerations, it is unlikely that 
new hydro capacity can be added at a 
rate of much over 5.5% per year. For the 
model, this rate is assumed. 

5. Fuel reserves will not change 
significantly over time. This assump- 
tion is subject to the most debate. 
Discoveries of new natural gas 
sources, for example, have been keep- 
ing pace with usage. As fuel prices rise, 
new sources become economically 
feasible to exploit; deep coal mines or 
ones with thinner veins, for examples. 
Also, new recovery methods may be 
discovered or become cost effective; 
for example, the recovery of shale oil. 
In the computer program, it is wise to 



10 PRINT "PR00RAH IPOPER"" 

26 PRINT "SIMULATION Or Ro«ER GENERATION, FUEL REQUIREMENTS, AN0 COSTS" 

SB PRINT "(VERSION 1-A, JAN 19F4, NRITTEn SV DAVIO M. AMI )■ 

40 INPUT "«ANT INSTRUCTIONS (T OR N)"»A$ \ PRINT \ IP A»."N- THEN 23* 

tee i 

INSTRUCTIONS 



110 PRINT 
1?B PRINT 
1)0 PRINT 
140 PRINT 
190 PRINT 
160 PRINT 
1*0 PRINT 
100 PRINT 
190 PRINT 
200 PRINT 
210 PRINT 
9?t PRINT 
225 PRINT 
2^0 PRINT 

240 Input 
200 t 

IN 



■YOU ARE THE DIRECTOR OP TM£ U.S. PE0ERAL P0"ER COMMISSION," 
"IT IS UP TO T0U TO APPROVE THE BUIL0ING OP NE* P0PER SEN-" 
■ERATI0N FACILITIES P0R »0TH InVEST0R-0*NED AnO GOVERNMENT" 
•CONTROLLED UTILITIES. THEREFORE, AN IHPORTANT PART OP" 
"TOUR JOB IS KNOWING M0* HUCH ADDITIONAL P0*ER IS RE0UIRED," 
"MO* IT CAN BE OBTAINED (I.E.. USING PHAT TVP£ OP FUEL)." 
•AND THE IMPACT ON FUEL RESERVES. SINCE TOUR ACTIONS "ILL" 
"HAVE AN ENORMOUS IMP»cT ON FUTURE GENERATIONS (PM0 ALSO" 
"NEED FUEL), YOU HAVE AT YOUR DISPOSAL A COMPUTER SIMUL*-" 
•TI0N OR M0DCL OF THE U.S. P0*ER GENERATION SYSTEM, "\PRINT 
"THE H0DEL PILL ASK POP YOUR DECISIONS ON NE" GENERATING" 
"CAPACITY EVERY B YEARS AND THEN GIVE YOU THE RESULTS OF" 
•YOUR DECISIONS." \ PRINT 

"YOU MAY RUN THE H0DEL FOR 23 TO 100 YEARS." 
"HOP MANY YEARS"fT3 \ IF v3«25 OR V9M00 THEN 230 

ITIAL CONDITIONS AND VALUES 



260 FStl)."C0AL» \ F8(2)«"01L" \ FS(9)i"CAS" \ PICA). "NUCLEAR" 

263 Fl(B)»"HYDR0" 

2F0 6S(1)»"BILLI0N TONS" \ GS(2)"'BILLI0N BARRELS" \ 68(3)""TRILLI0N CU FT* 

2TS GSCO. "HILLI0N TONS" \ GS(3)""MILLI0N km" 

III M <}' ,B ?» \*< 2 >'" V M(3)-F0P \ M(A).1,0S \ H (9 ).190 I 1966 RESERVES 

290 S(l)*1.16 \ S(g)"3.66 \ 8(3)"45 

293 3(4>"34,8E-6 | OTHER FUEL USAGE 

lil ?^?\ , !!\\ , T ,486/U3 N C < 6 >''" « VEAR, USAGE, GEN CAPACITY 

320 C(1>.197 \ U(l)»613 | COAL CURRENT CAPACITY, 1966 USAGE 

930 C(2)«50 \ U(2W6 

340 CC3)"67 \ UC3)"23l 

330 C(4>»7 \ U(4)»3.9 

960 C(9)"B6 \ U(9>"200 

970 R2(l)«0 FOR I»l TO 9 

980 0S'"\ \mfmt 

990 CS»" •«.•• 

400 Di»"\ \«««.«« 

410 | 



I USAGE OF RESERVES 



•«•.•«" 



FUEL USAGE BY N0N-P0»ER GENERATION SOURCES 

420 FOR 1*1 TO 4 

429 IF R9(I)M THEN 440 

490 S(I)«S(I)#1.9 V R2(I).R2(I>»8(!) 

440 NEXT I 

800 I 

CAPACITY AND USAGE 

BIB Y.Y»0 \ H.MM.9 \ K.M/C<0> I YEAR, DEMAND, CONSTANT 

630 PlIpup'wOR'li "toT 9 '' 9 *" ' * FUEt °**"' CU " 6EnE "* T » 0n 

899 IF RB(I)at THEN U(I)*0 

680 NEXT ) I U(I ' N Utn " Ct:) * K ' *LL0CATE GENERATION BY FUE L 

9bB I 

FUEL USAGE (8 YEARS) 

898 C94.9667a(V. 1966.6) | 3-YEAR EFFICIENCY FACTOR 

tie PRINT \ PRINT »N0P CALCULATING 8-YEAR FUEL USAGE* \ PRINT 

610 Rl(l)"2,9*(U(l)«U2(l))*.92*E*/2000 I Co»l tlLLION TONS 

620 Rl(2)a2,S*(U(2)»U2(2))*,00109*E9 

630 Rl(3)«2,9*(U(9)«U2(9))*10.6*E9/1000 

640 R1(4)*2.B*(U(4)*U2(4))*3.F8 

630 FOR I«| TO 3 

695 IF R9(I>«1 THEN 710 

660 R2(I)«R2(I)*R1(I) 

670 Ht(I)*(M(I).R2(I))*100/H(I) 

600 IF Hl(I)»i0 THEN 710 

690 PRINT "THE U.S. MAS VIRTUALLY RUN OUT OF ■«(»■ I" \ R9(I)al 

710 NEXT I 

FlS IF R9(4)«l THEN ftf 

720 R2(4)«R2(4)*R!(4)*1E»6 

F30 H|(4)«(H(4).R2(4))«100/M(4) | % CUM FuEL U8AGE 

740 IF Hl(4)»10 THEN 768 

760 PRINT "THE U.S. MAS VIRTUALLY RUN OUT OF NUCLEAR FUEL I" \ R9(4)*l 

760 R(3)"C(5)«l0e/H(3) 

770 IF R(5)»"100 THEN PRINT »Y0U HAVE NO REMAINING HYDRO CAPACITY !• 

760 FOR I"l TO 4 

705 IF R7(I)»l THEN 010 

7«0 IF R9tl)»0 THEN 81? 

000 CC6)"C(6)-C(I) \ C(I)«0 \ RFri)«l 

010 NEXT I 

900 I 

COST OF FUEL PER PM knr_ TOTAL 



I OIL BILLION BBL 
I GAB TRILLION CU FT 
I NUCLEAR TONS 



i i cu M fuel usage 



90 



CREATIVE COMPUTING 



9ie e«>,9B67«(y.y2)mp0b 
9?o 0(1)m92»E9*b, 03/2000 

•30 D(2)«.00l83»E9*9 

040 D(3)".0106*E9*.44 

990 D(4)«7.9E»6*E9*930 

•60 D(9)«,9 

970 T(6)«0 

•00 FOR IM TO 8 

•00 T(I)*U(I)*D(I> \ T(0)»Tt0)»Ttn 

1000 NEXT I 

iei0 Tl»Tl*T{6) \ D(6)M(6)/N 

»•• > 

SiYEAR RESULTS 



I COSTaFuEL/KH • COST/OuAN 



I TOTAL FUEL COSTS 



1300 

1310 
1320 
1330 
1340 
1390 
I960 
1361 
1362 
1363 
1364 
1369 
1*66 
1367 
1366 
1369 
1370 
1300 
1303 
1390 
1400 
1420 
1430 
1440 
1496 
1460 
1470 
1400 
1490 
1900 



1910 
1920 
1930 
1940 
1942 
1943 
1944 
1946 
194S 
1990 
1960 
1970 
1900 
1990 
1999 
1600 



PRINT \ PRINT "RESULTS FOR"Y \ PRINT 

PRINT ""."CAPACITY", "USAGE", "USAGE (»• 

PRINT "FUEL", "(MILLION KN)»," (BILLION knh)","OF CAPACITY)" 

FOR IM TO S V IF R0(I)*l THEN 1390 

PRINT USING BS,F|(I),C(I),U(I) 

NEXT I 

PRINT USING BI*CI. "TOTAL". C(6),»,R 

IF P»B0 THEN 1362 ELSE IF P«7P THEN 1366 ELSE GOTO 1370 

PRINT \ PRINT "TOUR MARGIN OF RESERVE CAPACITY IB ONLVMNT(IGB-P) ■»■ 

IF P»«B THEN |364 ELSE PRINT "LEADING TO NUMEROUS F»0«NOUT J, "\GOTO 1368 

PRINT "LEADING TO MAJOR PROBLEMS IN INDUSTRIAL PRODUCTION AND URBAN" 

PRINT "TRANSPORTATION SYSTEMS." \ GOTO 1368 

PRINT "YOUR RESERVE CAPACITY MARGIN OF"INT( 100-0) ■« IB TOO GREAT," 

PRINT "THE INVESTMENT FOR NE« PLANTS MAS NEEOEO MORE IN OTHER AREAS." 

PRINT "YOUR SUCCESSOR IS ABOUT TO BE APPOINTED UNLESS TMERE IS A* 

PRINT "DRAHATIC IMPROVEMENT IN THE NEXT 9 YEARS." 

PRINT \ PRINT "»,"FUEL COST", "TOTAL FUEL •". "REMAINING FUEL" 

PRINT "FUEL", "PER 1000 «NM" ," (MILLION 8)»,"(« OF 1066)" 

H1(9)"(H(9)»C(9))«100/M(9) 

FOR IM TO 8 V IF RB(I)M THEN 142B 

PRINT USING DB,FI(I),D(I),T(I),M1(I> 

NEXT I 

PRINT USING D», "TOTAL", DC6),T(6) 

IF ViY2»»Y3 THEN J700 

PRINT \ PRINT "EST. DEMAND FOR ELECTRICITY IN ■V»B*XI*«*i«3'BXLLI0N KNH" 

PRINT "GENERATING CAPACITY IN"Y"IS"C(6)"BILLI0N KM," 

PRINT "DESIRABLE GENERATING CAPACITY IN" Y*5" IS»»» . 329" BILLION KM." 

PRINT 

R8(I)«R»(I) FOR IM TO 4 

1 

INPUT NEM VALUES 



PRINT "AMOUNT OF NE* CAPACITY TO BE ADDED IN NEXT 9 YEARS (BILLION KM)" 

Cl(6)«0 

FOR IM TO 9 \ IF R«(I)M THEN I960 

PRINT F8(I), V INPUT N(I) 

IF X«>B THEN 1690 

IF N(B)«*.3*C(9) THEN 1B44 ELBE Aa,3*C(S) \ GOTO 1946 

IF C(9)*N(9)<1«0 THEN 1990 ELBE AM90.C(9) 

PRINT "THAT'S TOO MUCH ADDITIONAL HYDRO CAPACITY." A"IS THE LIMIT." 

GOTO 1946 

CK!)mC(I)»N(X) \ C1(6)«CI(6)«C1(I) 

NEXT I 

IF C1(6)>H*.26 THEN 1600 

PRINT "THAT'S NOT ENOUGH ADDITIONAL CAPACITY TO MEET THE DEMAND." 

PRINT "YOU NEED A MINIMUM OF"!NT(M».20-C1(6))"BILL!ON KM OVER" 

PRINT "THE CURRENT CAPACITY 0F"C(6)", PLEASE TRY AGAIN." \ GOTO 1810 

I 

UPDATE 6 YEAR AGO FIGURES 



1616 FOR IM TO 6 

1620 C2(I)*C(I) V C(I)«C1(I) 

1630 NEXT I 

1640 GOTO BB0 

1700 1 

END SUMMARY 



1710 
l?19 
1720 
1726 
1730 
1740 
1749 
1780 
1760 
1770 
1790 
1799 
1800 
1810 
162B 
1830 
1836 
1840 
1090 
2B00 



PRINT \ PRINT \ PRINT "SUMMARY RESULTS — 1»66 TO"Y V PRINT 
Yl'Y-1966 \ Hi(J)iH(J|.C(!) I TOTAL YEARS, * HYDRO USAGE 

PRINT "TOTAL ELECTRICITY GENERATED »"INT(M) "BILLION K«H," 
PRINT "AVERAGE PERCENT OF CAPACITY IN USE •"P1«B/Y1 \ PRINT 
V1M-1966 \ PRINT Tl"VEAR FUEL COST SUMMARYI" 
PRINT ■ TOTAL COST ■ B"S»Tl"NILLION" 
PRINT * AVERAGE COST PER YEAR • S"9*T1/V1 
PRINT ■ AVERAGE COST PER 1000 KWM ■ t"5«Tl/M 
PRINT V PRINT "", "RESERVES". "RESERVES" 
PRINT "FUeL"#"IN 1966", "IN"Y \ PRINT 

8 

) V IF A«0 THEN AM 

,H(X),M(I)-R2(I),CS(I) 

NT V PRINT "FUEL","» REMAINING OF 1966 RESERVE* \ PRINT 

9 

THEN H1(I)»B 

.M1(I) 



\ PRI 
■FUEL 
FOR 1*1 TO 
ARH(I)^R2(I 
PRINT FS(I) 
NEXT I 
PRINT \ PRI 
FOR 1*1 TO 
XF Ml(I)«0 
PRINT FS(I) 
NEXT X 
END 



leave all these factors as variables so 
that you, or an enterprising student, 
can try out other alternatives or "im- 
prove" the simulation. 

6. The model will assume a self- 
sufficient energy policy; that is, only 
fuel reserves within the United States 
can be called upon. If you're an 
optimistic internationalist, you can 
easily change this assumption in the 
one line (280) where these values are 
set. Again, the general principle is: 
leave everything a variable. 

7. All available fuel cannot be used 
for the generation of electricity. We've 
assumed the following percentages are 
available: coal 55%, oil 25%, gas 25%, 
nuclear 90%. 

You'll discover other assumptions 
that have to be made or facts that have 
to be gathered as you actually write the 
model but if you have most of it be- 
forehand, you'll have an easier time. 



Writing the Model 

The temptation, of course, is to 
plunge into the computer program. 
DON'T! Write a flowchart first. Virtually 
all interactive models and simulations 
for teaching follow these steps, ex- 
clusive of instructions. 

1. Set initial conditions. 

2. Perform the calculations for one 
period, cycle, steady-state at the start, 
etc. Output this. 

3. Accept input from the user. 

4. Perform calculations for the next 
period using inputted data. Output this. 

5. Go back to Step 3 until the model 
has run the desired number of steps, 
periods, etc. At this point go to Step 6. 

6. Calculate and output final results. 
These steps have been transformed 
into the simplified flowchart shown in 
Figure 1. 

It's probably also a good idea to state 
any formulas used in the model. Other 
than percentage calculations, the elec- 
trical generation model didn't use 
many formulas. Here are the most 
notable ones: 



Five year fuel usage = 5x (kw Genera- 
tion Year 1 + kw Generation Year 5)-r 
2x Efficiency improvement factor x 
fuel per kw. 

Cost of fuel per yr. ■ kw Generation x 
Efficiency improvement factor x fuel 
per kw x cost per unit of fuel 



It's also worthwhile to state the format 
of the output and assign letter variables 
right on the mocked-up output. For 
example: 



JAN/FEB 1978 



91 



Capacity Usage Usage (% 

Fuel (Million kw) (Billion k wh) of Capacity) 
F$(1) c(1) u(1) p 

F$(2) c(2) u(2) p 

etc. 

Now, finally, you're ready to write the 
program. If you've done the previous 
steps thoroughly, the writing of the 
program will be trivial (well, perhaps 
not trivial, but at least straightforward). 
It's probably good practice to write the 
program in sections. Worry about the 
calculations section first. If you can 
hack through that, the other sections 
will fall nicely into place. While you're 
doing the calculations section, jot 
down the variables that will have to be 
set in other sections like initial con- 
ditions or user input. 

Use comments liberally throughout 
your program. You'll be glad you took 
the time when you start to debug the 
program or even look at it a few weeks 
later. 

Add some elements to keep the 
program interesting to the user. If a 
value gets out of control, don't just 
print a message but try to describe the 
impact of that value. For example, 
instead of printing: 

RESERVE POWER MARGIN = 12% 
the user will learn more and be more 
interested if you print something like 
this: 
YOUR MARGIN OF RESERVE 
POWER IS ONLY 12%. THERE HAVE 
BEEN NUMEROUS BROWNOUTS 
AND YOUR SUCCESSOR IS 
ABOUT TO BE APPOINTED 
UNLESS THERE IS A DRASTIC 
IMPROVEMENT. 

Look over the power-generation 
program. Not for the specifics of how it 
works, but rather note the liberal use of 
comments, its division into sections, 
and explanations to the user. 

Writing The User's Guide 

Most simulations are of sufficient 
complexity that all the necessary 
background information cannot be 
included in the computer instructions 
in the program. Even with the simplest 
simulations, additional background 
information and suggested readings 
for further pursuit of the topic are 
desirable for the student to have in 
hand. The user's guide need not be 
long but it should include the follow- 
ing: 
A. User Section 

1. A brief description of the event, 
system, or apparatus being simulated. 

2. Instructions for running the pro- 
gram and a sample run. 

3. Questions, exercises, and/or ac- 
tivities to do with the program output. 
These should be as open-ended as 
possible, consistent with the student 
fulfilling your learning objectives. 



RUNNH 

PROGRAM 'POWER' 

SIMULATION OF POWER GENERATION, FUEL REQUIREMENTS, 

(VERSION 1-A, JAN 1974, WRITTEN BV DAVID H AHL > 

WANT INSTRUCTIONS <V OR N>? V 



AND COSTS 



VOU ARE THE DIRECTOR OF THE U S FEDERAL POWER COMMISSION 
IT IS UP TO VOU TO APPROVE THE BUILDING OF NEW POWER GEN- 
ERATION FACILITIES FOR BOTH INVESTOR-OWNED AND GOVERNMENT 
CONTROLLED UTILITIES. THEREFORE, AN IMPORTANT PART OF 
VOUR JOB IS KNOWING HOW MUCH ADDITIONAL POWER IS REQUIRED, 
HOW IT CAN BE OBTAINED CI. E . USING WHAT TVPE OF FUEL), 
AND THE IMPACT ON FUEL RESERVES SINCE VOUR ACTIONS WILL 
HAVE AN ENORMOUS IMPACT ON FUTURE GENERATIONS CWHO ALSO 
NEED FUEL), VOU HAVE AT VOUR DISPOSAL A COMPUTER SIMULA- 
TION OR MODEL OF THE U S POWER GENERATION SYSTEM 

THE MODEL WILL ASK FOR VOUR DECISIONS ON NEW GENERATING 
CAPACITV EVERV S VEARS AND THEN GIVE VOU THE RESULTS OF 
VOUR DECISIONS 

VOU NAV RUN THE MODEL FOR 23 TO 186 VEARS 
HOW MANV VEARS' 56 

NOW CALCULATING 9-VEAR FUEL USAGE 



RESULTS FOR 1971 





CAPACITV 


USAGE 


USAGE (.•/. 


FUEL 


(MILLION KH> 


(BILLION KWH) 


OF CAPACITV) 


COAL 


167 


667 




OIL 


56 


266 




GAS 


87 


348 




NUCLEAR 


7 


28 




HYDRO 


56 


224 




TOTAL 


367 


1466 


79 9 




FUEL COST 


TOTAL FUEL * 


REMAINING FU 


FUEL 


PER 1666 KWH 


(MILLION «:■ 


UK OF 1966) 


COAL 


3 71 


2477 


99 65 


OIL 


15 46 


3677 


88 84 


GAS 


4 36 


1516 


89 45 


NUCLEAR 


3. 72 


164 


99 97 


HVDRO 


6 56 


112 


76. 53 


TOTAL 


4. 97 


7285 





EST. DEMAND FOR ELECTRICITY IN 1976 IS 1985 8 BILLION KWH 

GENERATING CAPACITY IN 1971 IS 367 BILLION KH 

DESIRABLE GENERATING CAPACITY IN 1976 IS 476 45 BILLION KW 

AMOUNT OF NEW CAPACITV TO BE ADDED IN NEXT 5 VEARS (BILLION KW) 

COAL ? 56 

OIL ? 6 

GAS ? 6 

NUCLEAR ? 56 

HYDRO ? 16 

NOW CALCULATING 5-VEAR FUEL USAGE 
RESULTS FOR 1976 





CAPACITV 




USAGE 


USAGE (?: 


FUEL 


(MILLION 


KW) 


(BILLION KWH) 


OF CAPACITV) 


COAL 


217 




867 




OIL 


56 




266 




GAS 


87 




348 




NUCLEAR 


57 




228 




HVDRO 


66 




264 




TOTAL 


477 




1966 


79 9 




FUEL COS1 




TOTAL FUEL » 


REMAINING FUEL 


FUEL 


PER 1666 


KWH 


(MILLION *:• 


(/.' OF 1966) 


COAL 


3. 47 




3611 


99 46 


OIL 


14 41 




2878 


84 74 


GAS 


4 68 




1418 


87 87 


NUCLEAR 


3 48 




792 


99 74 


HVDRO 


6 56 




132 


65 26 


TOTAL 


4 32 




8236 





EST. DEMAND FOR ELECTRICITY IN 1981 IS 2477 54 BILLION KWH 

GENERATING CAPACITV IN 1976 IS 477 BILLION KW 

DESIRABLE GENERATING CAPACITV IN 1981 IS 619. 385 BILLION KW 

AMOUNT OF NEW CAPACITV TO BE ADDED IN NEXT 5 VEARS (BILLION KW) 
COAL ? 66 

OIL ? 6 



92 



CREATIVE COMPUTING 



GAS 


? e 


NUCLEAR 


? 36 


HVDRO 


? 13 



NOW CALCULATING 5-VEAR FUEL USAGE 



RESULTS FOR 1981 





CAPACITV 


USAGE USAGE CX 


FUEL 


(MILLION KM> 


(BILLION KMH> OF CAPACITV> 


COAL 


277 


1146 


OIL 


36 


286 


GAS 


87 


358 


NUCLEAR 


167 


446 


HVDRO 


81 


333 


TOTAL 


682 


2478 82 3 



VOUR MARGIN OF RESERVE CAPACITV IS ONLV 17 Y. 

LEADING TO NUMEROUS BROWNOUTS 

VOUR SUCCESSOR IS ABOUT TO BE APPOINTED UNLESS THERE IS A 

DRAMATIC IMPROVEMENT IN THE NEXT 3 VEARS 





FUEL COST 


TOTAL FUEL t 


REMAINING F 


FUEL 


PER 1666 KHH 


(MILLION 


»:■ 


CX OF 1966 > 


COAL 


3 23 


3762 




99 22 


OIL 


13 47 


2772 




81 60 


GAS 


3 82 


1366 




84 81 


NUCLEAR 


3. 23 


1432 




99 14 


HVDRO 


6 36 


167 




37. 37 


TOTAL 


3 61 


9439 







EST DEMAND FOR ELECTRICITV IN 1986 IS 3228 8 BILLION KHH 

GENERATING CAPACITV IN 1981 IS 662 BILLION KM 

DESIRABLE GENERATING CAPACITV IN 1986 IS 863 261 BILLION KH 



(Output for Period 1986-2011 is not shown) 



RESULTS FOR 2816 





CAPACITV 


USAGE 


USAGE <:: 


FUEL 


(MILLION KH> 


(BILLION KMH> 


OF CAPACITV) 


COAL 


3274 


13695 




OIL 


36 


266 




OAS 


87 


348 




NUCLEAR 


287 


1148 




HVDRO 


189 


756 




TOTAL 


3887 


13346 


88 8 




FUEL COST 


TOTAL FUEL f 


REMAINING FUEL 


FUEL 


PER 1666 KMH 


(MILLION *> 


(?.' OF 1966 > 


COAL 


2 63 


26614 


93 44 


OIL 


8 43 


1686 


64 88 


GAS 


2. 39 


831 


72 72 


NUCLEAR 


2 64 


2336 


66 84 


HVDRO 


6 36 


378 


8 53 


TOTAL 


2 63 


31845 





SUHHARV RESULTS — 1966 TO 2816 

TOTAL ELECTRICITV GENERATED - 359261 BILLION KMH. 
AVERAGE PERCENT OF CAPACITV IN USE - 86 3655 

36 VEAR FUEL COST SUHHARV 

TOTAL COST » * 889391 MILLION 
AVERAGE COST PER VEAR - * 16187 8 
AVERAGE COST PER 1866 KMH - S 2 23293 





RESERVES 


RESERVES 




FUEL 


IN 1966 


IN 2816 




COAL 


832 


777. 45 


BILLION TONS 


OIL 


36 


32 3996 


BILLION BARRELS 


GAS 


788 


369 622 


TRILLION CU FT 


NUCLEAR 


1 63 


983427 


MILLION TONS 


HVDRO 


196 


198 


MILLION KW 



B. Description Section 

1. Reprints or summaries of articles 
or information about the vent being 
simulated. 

2. Background data and its source. 

3. Key assumptions and their ra- 
tionale. 

4. Short bibliography for further ref- 
erence. 

C. Computer Section (optional) 

1. Program listing. 

2. Flowchart. 



References — Computer Simulations 

1. Ahl. D.H., (Ed), 707 BASIC 
Computer Games. Maynard, MA: 
Digital Equipment Corporation, 
1973. 

2. Allen, L.E., Allen, R.W., & Ross. Jr.. 
"The Virtues of Nonsimulation 
Games." Simulation and Games. 
1970, 1. 319-326. 

3. Boocock, S.S., & Schild, E.O. 
(Eds), Simulation Games in 
Learning. Beverly Hills, CA: Sage. 
1968. 

4. Braun, L, "Digital Simulation in 
Education." J. Educational 
Technology Systems. 1972, 1,1, 
5-27. 

5. DeVries, D.S. & Edwards, K.J., 
"Learning Games and Student 
Teams: Their Effects on Classroom 
Process." American Education 
Research Journal. 1973, 10, 
307-318. 

6. Edwards, 
Snyder, J. 



K.J., DeVries. D.L., & 
P., "Games and Teams: 
A Winning Combination." 
Simulation and Games. 1972, 3. 
247-269. 

7. Fletcher, J.L., "The Effectiveness 
of Simulation Games as Learning 
Environments." Simulation and 
Games, 1971, 2, 425-454. 

8. Inbar, M , "Individual and Group 
Effects on Enjoyment and 
Learning in a Game Simulating a 
Community Disaster." In S.S. 
Boocock & E.O. Schild (Eds), 
Simulation Games in Learning. 
Beverly Hills. CA: Sage, 1968, pp. 
169-190. 

9. Pate, G.S. & Parker, H.A., Jr.. 
Designing Classroom Simulations. 
Belmont, CA: Fearon, 1973. 

10. Spencer, D.D., Game Playing With 
Computers. New York: Spartan 
Books. 1968. 



FUEL 



V. REMAINING OF 1966 RESERVE 



COAL 

OIL 

GAS 

NUCLEAR 

HVDRO 


93 4436 
64 7993 
72 7175 
86 8487 

1 


READV 




JAN/FEB 1978 





References — Electric Power 

1. "Power Industry Statistics for 
1971." Electrical World. Sept. 15, 
1972. 

2. Questions and Answers About the 
Electric Utility Industry. Edison 
Electric Institute, 1973 ■ 



93 






Computer Education 
at Lawrence Hall 

by Robert Kahn 

Lawrence Hall of Science at the University of California 
- Berkeley is a center in science education for the general 
public, for young children, for everyone. We're developing 
curriculum; we have a traveling van going around the 
northern Bay Area taking educational materials to teachers; 
we have a planetarium; we have public science education; 
we have an enrichment center, and we have computer 
activities. 

Our computer activities are now far and away the largest 
single public-access project at the Lawrence Hall of Science. 
We have a time-sharing service which started out with one 
small Nova; now we have the capacity to handle approxi- 
mately 100 terminals. 

The heart of our system is a Data General NOVA 
modified by a company named Decision, in Berkeley, with 
a capacity of 60 simultaneous uses. We also have a 
Hewlett-Packard 2000B and we have the first production 
model of the Hewlett-Packard 3000. 

Almost everything we're doing is in BASIC and in our 
version of PILOT, which we call NYLON. One of our major 
projects is collecting educational programs and putting 



Lawrence Hall 
of Science 

presents 

COMPUTER 
EXPO 



them together in a documented format. We have a whole 
book describing the programs that we have available in our 
program library, and we're continuing to collect new ones. 

We have thirty outside users on our system, mostly 
schools. We are running an educational time-sharing 
service where the costs are very low in terms of general 
time-sharing costs. 

Here are some of the things that are going on at the 
Lawrence Hall of Science, to give you a flavor of all the kinds 
of computer activities there. 

The Computer Education Project is run by students, like 
myself, from the Berkeley campus. These students are both 
graduates and undergraduates and they teach classes to 
children, run workshops, develop course materials, and do 
other related things. 

The computer project at the Hall has three objectives. The 
first objective is to educate adults and children about 
computers. We are following in the mold as Darmouth but 
on a very much smaller scale. The idea is to introduce 
people to the computer as a tool, and allow them to do 
what they want to do on it. We want them to know what 
computers can do and how people might be able to use 



EnkUv 

■Ait" • 

w&Sr-'---'. 




mm 


Wf **,.;. 


W0BH- 


.'-••"-K5B 



them. We're not quite so concerned with presenting 
curriculum via the computer for use in instruction. The 
second goal is to offer what we call "low-cost computing" to 
the public. We want to provide a place where people can 
come and use the computer, while keeping the cost down. 
We have a policy that when we're not using our computer 
rooms, we open them to the general public for 7bi an 
hour— what we call public computing time. It's like going to 
the movies. You buy a ticket at the front desk when you 
enter the Hall, and you spend your hour playing games, 
writing programs, drawing pictures, or whatever you want. 
This goes for anybody, kids or adults, college students from 
Berkeley, professors, anybody that wants to. But we cannot 
afford to provide long-term storage with this policy. The 
public account has a small amount of disk space available, 
but we wipe this space clean each week. 

We have a school visitation program where about 400 
Bay Area children come to the Lawrence Hall of Science 
every week, all year long. The program is booked for a year 
ahead. It's a field-trip program with five activities. The 
computer is one. The computer activity consists of a set of 
six games, purposely selected to be diverse in strategy, 
concept, and difficulty. As many as three children share 
each terminal. A monitor program asks the children for 
their first names and then proceeds to rotate the game 
going from child to child by telling each child when it is his 
or her turn and asking what game he/she wishes to play. 
This program also keeps a record of the age and sex of each 
child, of which games the child chose to play, and for how 
long. These data help us to find out which games are most 
popular with students of a given age and sex, and we can 
then make necessary changes and modifications in the 
program. 

In the past year we have hosted several special activities. 
For example, we hosted a Bay Area Computer Fair in 
which junior and senior high school students from all 



Contests 



ENTER OUR CONTESTS AND WIN MON- 
STER POSTERS, BOOKS, SUBSCRIPTIONS, 
AND LHS MEMBERSHIPS. CONTESTS WILL 
BE HELD IN PROGRAMMING, LOGIC 
GAMES, TAPE WINDING, AND MAZES 



94 



CREATIVE COMPUTING 



around the San Francisco Bay Area came up to the Hall to 
play games and write programs, for three days in Septem- 
ber. Many vendors were also present at the fair, displaying 
their latest advances in hardware. 

The Hall of Science has a public area (like a science 
museum) on its topmost level. We have placed four CRT 
terminals there that are free to use for anybody who has 
already been admitted to the Hall. 

We've pre-programmed these CRT terminals with a 
variety of computer activities. One CRT had the ELIZA 
Program -- one of our staff re-wrote Weizenbaum's ELIZA 
Program to run on our Decision Computer, and this 
program has been a favorite with the public. During the 
past two months, we havetemporarilyreplaced ELIZA with 
a program that simulates the path of a comet. You control 
various input parameters such as initial position, speed, and 
distance from the sun, and the computer plots the path of 
your comet. 

Two other CRT terminals are programmed to play our 
most popular games. The fourth one controls a tone box 
that we constructed. The tone box consists of a set of 
twelve oscillators, on which you can - similar to the 
Dartmouth music generator - type in a set of notes and the 
computer will play back your music. We have several 
programs to allow you to compose music, and if you 
compose a song that you really like, we'll put it in the 
library of songs. Note that these activities are all free to the 
general public, once they are admitted to the Hall of 
Science. 



Films 



A VARIETY OF FILMS WILL BE SHOWN 
THROUGHOUT THE FOUR-DAY FAIR 
INCLUDING: 

COMPUTERS: CHALLENGING MAN'S 
SUPREMACY 

COMPUTER ANIMATION 

COMPUTERS AND HUMAN BEHAVIOR 

RIGHT OF PRIVACY 

ROBOTICS: ISAAC ASIMOV'S (CLANK! 
CLANK!) ARTIFICIAL MAN and many 
more . . . 



In the afternoons and on Saturdays we offer courses 
about computers for children and adults. We developed a 
course for younger children, eight, nine, and ten years old, 
called "Creative Play with the Computer." It is an 
introductory course in which we encourage them to play 
games on the teletypes, use our Tektronix 611 storage 
scope (driven by a NOVA), our Hewlett-Packard 7200A 
plotter, driven in BASIC by any of the computers, and the 
tone box. The aim is to give them a general introduction to 
the kinds of things that computers can do. Some of the 
children are sharp enough to go on to doing a little bit of 
PILOT programming at the end of this course. Many come 
back for other courses. 

None of these projects could function if it weren't for 
the fact that we have a committed and dedicated staff from 
Computer Sciences and other departments who work half 
time and often put in more time on their own. 

We also have a course that we call "Computer Theory," 

JAN/FEB 1978 



General Public 

Unlimited computer time 

Demonstrations on homemade computers, 
voice synthesizers, and calculators 



tor children who really want to know more about com- 
puters than programming, who want to know how the 
computer works. This quarter, we're also offering a course 
for adults in the Berkeley area. Because their children were 
taking courses, the parents became interested, so we 
thought we could also do something for adults. 

The adult course is structured along the lines of Creative 
Play with the Computer. In many cases, adults are much 
more afraid of the machine than are children. Many adults 
have misconceptions about computers which the course 
attempts to dispell while providing a positive, hands-on 
experience. 

During the past year, another thing has been happening: 
We've been getting calls -- as many as about three a day -- 
from schools around the Bay Area, as they learn about our 
programs. Often it's a matter of a teacher wanting to bring 
a class of thirty students for one visit to our computer lab. 
But several teachers have been interested in starting a 
program where they can bring their class to the Hall once a 
week for one or more eight-week sessions. In these classes, 
the Hall becomes an extended classroom for the schools. 
The word is out that we teach BASIC programming, and 
many of the teachers want to integrate programming into 
their curriculum. 

These classes work out very well because we have a 
group of students that is pretty much homogeneous, 
coming from one school (unlike the classes on Saturday) to 
the Lawrence Hall of Science. One of our staff meets with 
the teacher each week to plan the week's lesson, and the 
students take what they learn back to the classroom. So we 
achieve a dialog going back and forth between the Hall and 
the classroom. We now have twelve of these classes, which 
is as many as we can handle. 

Finally, we are now providing, as I said, the beginning of 
a campus time-sharing service, and little by little we're 
starting to hear from various departments around the 
Berkeley campus. The Biology 1 program is one example. 
For that course, we provide computer time, teacher 
training, and programs. Our staff spent three Monday nights 
training the TAs in the Biology 1 course to get them ready 
for the 600 students who were to use simulation programs 
as part of their coursework in Biology 1. We also provide 
the programming expertise needed to get all of the 
simulation programs checked out and running. For a 
Division course taught by Charlie Bass in the Computer 
Sciences they merely rented terminals from us. Also, 
Charles Woodson has offered a course in the School of 
Education on computer-based instruction, using our 
computers. He has two terminals in the School of 
Education and expects to get more. 

So, little by little, we have been backing into becoming 
the campus time-sharing service. There were some campus 
problems with this situation at first, but these problems are 
being worked out, and more and more people are starting 
to call from the campus. So, we are promoting the type of 
computer service that Dartmouth has -- only on a smaller 
scale. We have a similar setup, using the same language. 
We're riding a tide of high activity at this point. Things are 
going so fast that we haven't had time to stop, evaluate, and 
look ahead. We are just trying to keep up with the growing 
demand for our service. ■ 



95 






New 
Fast 
Sorting 
Algorithm 



How to sort extremely fast with a minimum of 
comparisons, and a minimum of programming 
steps between comparisons. 



Richard Hart" 



The speed or efficiency of an internal 
sorting algorithm is directly related to 
the number and complexity of 
programming steps which are actually 
executed during its operation. Because 
all the items being sorted must be 
compared to one another to place them 
in order, programmers have realized 
that by making certain intelligent 
comparisons, the total number of 
comparisons executed in an algorithm 
may be reduced to a theoretical 
minimum. 

This article starts with the theory 
described by Luther J. Woodrum in the 
IBM Systems Journal and describes an 
algorithm that not only uses a minimal 
number of comparisons, but also 
executes a minimal number of 
programming steps between each 
comparison. 

The algorithm was written to use as 
few comparisons as possible, to have 
as few steps between each comparison 
as possible, to take advantage of 
natural sequencing, to preserve the 
order of equals (or even the reverse 
order of equals), to avoid moving 
records around, to use as little memory 
as possible (one working array), and to 
be a modular, easily understood 
program written in BASIC. 

29 Concord Ave . Apt 609. Cambridge. MA 02138 



y y * 





Fig. 1. Tree number 19. with 19 leaves and nearly equal branches. 

96 CREATIVE COMPUTING 









The Forest. 

The theory behind the algorithm may 
be described in a language of forests, 
trees, branches, twigs and leaves 
There is a forest filled with trees of 
different sizes. The smallest tree has 
one leaf and the largest has no more 
leaves than fit into the memory of a 
computer. Each tree is very orderly 
The trunk of a tree splits into two 
branches of nearly the same size. If one 
branch is larger than the other, it is 
always the right-hand branch. Similar- 
ly, each branch divides into two more 
branches until the branches become 
twigs from which leaves grow. Figure 1 
is a picture of tree number 19. which 
has 19 leaves. 

Each tree in the forest is almost a 
binary system of its own, but the 
leaves are wildly disarrayed. They have 
different colors, different shapes, 
different sizes, different ages and 
different fates. Luckily the leaves of any 
particular tree, even the largest, can fit 
into the memory of a computer where 
they can be arranged by color, by 
texture, or by intelligence, and shipped 
to any part of the world. 



Fig. 2 Woodrum's algorithm lor sorting N records with minimal comparing: follow the tree structure and 
merge nearly equal linked lists on the way down the branches 



The Mouse. 

Even though the computer usually 
thought about everything in two ways, 
it worked well in the forest. It had 
evolved from the Boolean logic of 
electrical engineering into a tiny, 
nearsighted mouse. She could do 
anything. She could climb the trees, 
jump from twig to twig; she could think 
like a calculator and even read, one 
letter at a time. 

If someone in the outside world 
thought that the leaves of a particular 
tree were ripe and wanted them arrang- 
ed by taste (from sweet to sour to 
bitter) and mailed to his home, the 
mouse would begin her work. The 
mouse liked the forest Most people 
only saw the wildly disarranged leaves 
on the outside, but on the inside, the 
trees and leaves were arranged 
perfectly for the mouse. 

One day the mouse was idling by the 
edge of the forest, thinking yes and no, 
when a secretary from IMOK telephon- 
ed to say that he would like the leaves 
from tree 19 arranged alphabetically by 
color, xeroxed and sent to his office. He 
mentioned that each leaf's exact color 
was printed on the leaf exactly two 
inches from the tip. This was especially 
helpful information for the mouse 
because even though she was a whiz 
with digits and knew her ABC's, she 
was color-blind. 



JAN/FEB 1978 



97 



The mouse began to work. She 
calculated her course and started 
along toward tree 19. She was thinking 
nothing at all. 



The Spider. 

Deep in the forest, at the entrance to 
a cave, was a spider who was by 
profession a computer programmer. 
Strange as it may seem, he hardly ever 
saw the mouse, but by looking deep 
into the cave he would imagine where 
the mouse might be. Occasionally he 
would turn around and glimpse the 
forest. In a single instant he would 
imagine it was his own forest, that the 
binary trees were his as was the mouse. 
Then he would turn back into his cave 
and write computer programs. 

One day the spider read a modest 
article by Luther J. Woodrum in the 
IBM Systems Journal, Vol. 8, No. 3, 
1969, called "Internal sorting with 
minimal comparing." The Woodrum 
algorithm was written in APL, a foreign 
language, but the spider liked sorts so 
he translated the algorithm into BASIC, 
his native language. 

Then he noticed two surprising 
things: The Woodrum sort was faster 
than the Shell sort and was also the 
same procedure he had seen the 
mouse go through time after time in the 
forest. 

The mouse would start on the left- 
hand side of a tree and climb until she 
reached the lowest branch; she would 
climb out that branch until she reached 
the left-most leaf. Then she would 
climb from leaf to leaf, looking at each 
one and writing something on an 
adding-machine tape. So the mouse 
was creating linked lists and merging 
them! The trees here were perfect for 
balanced merges! Every time the 
mouse climbed up a branch she would 
be figuring out what to do. Then on the 
way down to the next branch she would 
be merging the leaves and branches 
she had left behind. Figure 2 shows the 
path the mouse was following to sort N 
records (19 in this case) with a 
minimum number of comparisons. 

With a new understanding the spider 
watched the mouse for three years 
climbing the different trees, setting up 
linked lists of length 1 at each leaf, and 
allowing the tree structure to create 
balance merges. It had occurred to the 
spider in the beginning that it would be 
easier for the mouse to jump from leaf 
to leaf rather than to follow the limbs 
around. He had mentioned this to the 
mouse and the mouse had tried it, 
gamely enough. But the mouse 
couldn't see the tree structure below so 
she had ended up with 19 linked lists of 
length 1 and none of them merged. 



Tree 


Number of 






number 


low-order twigs 


Twig list 




1 




EXIT 




2 


1 


2 




3 


1 


3 




4 


2 


2 2 




5 


1 


2 3 




6 


2 


33 




7 


1 


34 




8 


4 


2 2 2 2 




9 


3 


2 2 2 3 




10 


2 


2323 




11 


1 


2 333 




12 


4 


33 3 3 




13 


3 


3334 




14 


2 


3434 




15 


1 


34 4 4 




16 


8 


2222222 2' 




17 


7 


22222223 




18 


6 


22232223 


2-leaf twigs 


19 


5 


22232323 


and 


20 


4 


2.3.2 3 2 3 2 3 


3-leaf twigs 


21 


3 


2 3 2 3 2 3 3.3 




22 


2 


23332333 




23 


1 


2 3 3 3.2.3 33 




24 


8 


33333333 




25 


7 


33333334 




26 


6 


3 3 3*43334 


3-leaf twigs 


27 


5 


33343434 


\ and 


28 


4 


34343434 


[ 4-leaf twigs 


29 


3 


34343444 




30 


2 


34443444 




31 


1 


34444444 




32 


16 


2222222222222222 


33 


15 


2222222222222223 



Fig. 3. Trees are composed of 2-leaf and 3-leaf twigs or else 3-leaf and 4-leaf twigs. Within one of these 
tree groups, new high-order twigs appear in a reflected binary pattern. 



Counter 

1 24 


Mirror 
image 
value 


Number 
of 




Tree 19 


carries 


Generate 


and 


Merge 


000 







2-twig 




branches 


00 1 


4 





2-twig 




1 branch 


1 


2 


1 


2-twig 




branches 


1 1 


6 





3-twig 




2 branches 


1 00 


1 


2 


2-twig 




branches 


1 1 


5 





3-twig 




1 branch 


1 1 


3 


1 


2-twig 




branches 


1 1 1 


7 



3 


3-twig 




3 branches 



Fig. 4. The binary counter provides all the necessary information for merging The reflected value 
determines how many new leaves to generate and the tally of carries indicates the number of additional 
branches to merge. 

This table shows the correspondence between a reflected binary counter and the sequential merging 
that occurs in tree 19. The cutoff value for tree 19 is 5 (from Fig. 3). It the "mirror-image" counter is 
below 5, generate a 2-twig; otherwise generate a 3-twig 



98 



CREATIVE COMPUTING 











Array L 










Before 


Before 


Before 


Before 


Before 


Belore 






Unsorted 


1st 


2nd 


3rd 


4th 


last 


last 


Position 


records 


merge 


merge 


merge 


merge 


merge 


merge 


1 




violet 


r 


1 


1 


1 


1 


18 


2 




indigo 


2* 


1 


1 


3 

4 


3 
6 


15 
6 


3 




orange 




3* 


4 


4 




purple 




4* 


4 


1 


5 
1 


5 
16 


5 




red 








5" 


6 




pink 








6 - 


4 


4 


7 




blue 










8 


8 


8 




brown 










9 


11 


9 




green 










2 


10 
2 


10 




grey 










15 


11 




carmine 










17 


17 


12 




yellow 










12 


12 


13 




olive 










16 


3 


14 




black 










11 


7 


15 




infrared 










13 


13 


16 




rust 










18 


1 


17 




crimson 










10 


9 


18 




white 










12 


12 


19 




amber 










14 


14 


(20) 






r 


2 


2 


2 


7 


19 


(21) 






2* 


3* 


3 


5* 


19 




(22) 








4* 




6* 






(23) 


















(24) 


















The starred sequences are 


newly generated lists 


one record long 






(new 


leaves). 

















Fig. 5. Snapshots of linked lists during execution of the algorithm. The last column shows the final 
linked list that begins at position N«1 in array I: (20) 19 14 7 8 11 .. Each location 
shows the value of the next location except that the last location points to itself. 




*^,; 



'*S 



•creative computing 



JAN/FEB 1978 



He can't stand the sight of oil." 



The spicier busied himself with other 
things: he visited other forests with 
fibonacci trees and even pure binary 
trees, but most of these trees had an 
extra branch sprouting from the side to 
hold leftover leaves. These trees 
weren't so good for sorting. His own 
mouse always came closest to sorting 
with a theoretical minimum number of 
comparisons. 



The Insight. 

One day the spider glanced out of his 
cave long enough to see something 
curious about the trees in his forest. He 
didn't know exactly what he saw so he 
asked the mouse to give him a twig list 
for trees 1 through 33. (A twig is 
composed of 2, 3 or 4 leaves). He 
wanted to see all the twigs at the exact 
altitude where the leftmost twig was 
less than 4 leaves; see Figure 3. 

The spider noticed that this left-most 
twig was always a low-order twig and 
that the total number of twigs at that 
altitude was always an even binary 
number. There were two fundamental- 
ly different kinds of trees: those with 2 
and 3 twigs and those with 3 and 4 
twigs. 

Now as the spider looked from one 
tree to the next higher tree (look at 
trees 16 through 23), he noticed that 
the high-order twigs sprouted first 
from each half of the tree, then from 
each remaining quarter and so on, until 
all but the first twig was a high-order 
twig. The spider immediately realized 
he could use this binary pattern to help 
the mouse. 

At just this moment, the mouse was 
on her way to tree 19 to arrange the 
leaves for the secretary from IMOK. 

The spider picked up a mirror and 
met the mouse at the tree. Then the 
spider told the mouse what to do: 

1. Before you climb the tree, 
calculate what the low-order twig will 
be. (For tree 19, it's a 2-twig, the first 
left-most twig containing fewer than 
four leaves). 

2. Calculate how many of these 
twigs will be at that altitude. (5). 

3. Calculate the total number of 
twigs at that altitude; this total will 
always be an even binary number and 
will determine the size of the binary 
counter in the next step. (8). 

4. Take a binary counter that 
counts from to 7 and this mirror. 
Climb the tree to the left-most twig and 
set the counter to 0. Then proceed to 
leap from twig to twig and increase 
your counter by 1 each time you leap. 
Look at the counter in the mirror and if 
that mirror-image value is less than the 
number of low-order twigs (5), create 
linked lists for a 2-leaf twig; otherwise 
create linked lists for a 3-leaf twig. 



99 



Fig. 6. The new algorithm uses the same tree structure 

as before, but does not follow the limbs around 

Instead, it can move from twig to twig and 

perform the necessary merges This procedure 

allows simplification of the merging algorithm. 




The Accident. 

So once again the mouse followed 
the spider's instructions; she leaped 
from twig to twig and wrote on an 
adding-machine tape. Then the mouse 
climbed down the right side of the tree 
and showed the spider what had 
happened. The leaves had all been 
merged into 8 twigs and the binary 
counter had provided some more 
unexpected information! 

The mouse had noticed that the 
counter had clicked every time it 
carried a digit. The number of these 
clicks corresponded exactly to the 
number of merges needed below the 
previous twig to merge twigs or 
branches into larger branches. Now 
the mouse could easily figure exactly 
how many leaves were above the twig 
and how many branches were below 
the twig without leaving the twig! See 
Figure 4. 

So the spider changed his algorithm 
to use the previous twig, combined all 
the working arrays into one. and 
created a beautiful butterfly merge to 
combine leaves into twigs, twigs into 
branches and branches into one final 
linked list starting at position N+1. In 
the end L(N+1) points to the first leaf; 



Fig. 7 This is the new sorting algorithm. Array L must have room for N*LOG2(N)*2 elements The 
algorithm uses a minimal number of comparisons and a minimal number of steps between each 
comparison. 

100 
110 
120 

130 
140 

150 
160 
170 
180 
190 
200 
210 
220 
230 
?H0 
250 
260 
270 
280 
290 
300 
310 
320 
330 



DIM t.'OOOO) 

PRINT "SORT HOW MANY RANDOM NUMBERS"; 

INPUT H 

FOR I = 1 TO N 

LET N(I) = INT(RND(0)»10000+1) 

NEXT I 

t 

; 

REM ENTRY 

DIM L(1011) "LINKS: 
LET K1 ,I,M1 ,T2,T4 = 
LET J r N+1 !HEAD OF SEQUENCE 1 
LET L(1) ,L(J),K2 = 1 

IF N <= 1 THEN 910 !EXIT; NOTHING 
LET S1 = N ! NUMBER OF LEAVES 
REM CLIME THE TREE 

IF SI < 1 THEN 320 ! LOW-ORDER TWIG 



N+L0G2(N)+2 ELEMENTS 



TO SORT 



LET 
LET 
LET 
LET 
GO 



K2 
B2 

S1 

TH 

TO 



250 



K2«2 

S1/2 

INT(B2) 

Ti4+(£2-S1)»K2 



VALUE 



•TOTAL NUMBER OF TWIGS 



REM INITIAL CALCULATIONS 

LET Tt = K2-T« (NUMBER OF LOW-ORDER TWIGS 



100 



CREATIVE COMPUTING 



340 LET B2 = K2/2 !HIGH BIT VALUE OF BINARY COUNTER 

350 REM NEXT TWIG 

360 IF K1 = K2 THEM 940 !EXIT; SORT COMPLETE 

370 LET K1.T1 = K1 + 1 JTWIC NUMBER 

380 LET B1 = B2 !HIGH BIT VALUE 

390 LET T3 = T2 'PREVIOUS REFLECTED TWIG NUMBER 

400 REM ADD 1 TO REFLECTED BINARY COUNTER AND CARRY 

110 LET T1 = T1/2 

420 IF INT(T1) < T1 THEN 470 

430 LET M1 = M1 + 1 



!N0 MORE CARRIES 
I OF MERGES 



440 LET T2 = T2-B1 

450 LET B1 = B1/2 !NEXT BIT VALUE 

460 GO TO 400 'CARRY ONE 

470 REM TWIG CALCULATIONS 



4eo 
490 

500 
510 
520 
530 
540 



LET T2 = T2+B1 ! REFLECTED TWIG NUMEER 

IF SI =2 THEN 550 J2-TWIGS AND 3-TWIGS 

REM ?-TWIGS AND 4-TWICS 

IF T3 < T4 THEN 560 JLOW-ORDER TWIG (3-TWIG) 

REM 4-TWIG 

•DIS-ENGAGE NUMBER OF MERGES 



LET K1 = -Ml 

GO TO 630 
550 IF T3 < T4 THEN 610 
560 REM 3-TWIG 
570 LET M1 = M1*1 
580 LET I = 1+1 
590 

600 LET J = J + 1 
610 REM 2-TWIG 
620 LET N.I = HU1 



JLOW-ORDER TWIG (2-TWIG) 

•NUMBER OF MERGES 
JNEXT LEAF 
LET L(I),L(J) = I JGENERATE A LEAF 
JNEXT SEQUENCE HEAD 



•NUMBER CF MERGES 



630 LET I = 1+1 



JNEXT LEAF 



640 LET L1,L(I),L(J) = I SGENERATE A LEAF 

650 LET LO = J JHEAD OF OLDER LEAF (LAST LINE) 

66C LET J = J+1 JHEAD OF LATEST LEAF (NEXT 2 LINES) 

670 LET I = 1+1 JNEXT LEAF 

680 LET L2,L(I),L(J) = I {GENERATE A LEAF 

690 GO TO 750 JMERGE LEAVES 

700 REM MERGE TWIGS AND BRANCHES 

710 LET J = J-1 JHEAD OF LATEST BRANCH OR TWIG 

720 LET LO r J-1 JHEAD OF OLDER BRANCH OR TWIC 

730 LET L1 = L(LO) JHEAD CF SEQUENCF 1 

740 LET L2 = L(J) JHEAD OF SEQUENCE 2 

750 IF N(L1) <= N(L2) THEN 820 JSTAY IN SEQUENCE 1 

760 LET L(LO) = L2 JSWITCH TO SEQUENCE 2 

770 LET LO = L2 JTOP LEAF IN SEQUENCE 2 

780 LET L2 = L(LO) JNEXT LEAF IN SEQUENCE 2 

790 IF L2 = LO THEN 870 JEND OF SEOUENCE 2 

800 IF N(L1) > N(L2) THEN 770 JSTAY IN SEOUENCE 2 

810 LET L(LO) = L1 JSWITCH TO SEQUENCE 1 



820 LET LO 



LI 



JTOP LEAF IN SEQUENCE 1 



830 LET L1 = L(LO) JNEXT LEAF IN SEQUENCE 1 

840 IF L1 <> LO THEN 750 JNOT END OF SEQUENCE 1 

850 LET L(LO) = L2 JSWITCH TO SEQUENCE 2 

860 GO TO 880 

870 LET L(LO) = L1 'SWITCH TO SEQUENCE 1 

880 LET M1 = M1-1 JNUMBER OF MERGES 

890 IF Ml > THEN 700 

900 IF M1 = THEN 350 

910 REM GENERATE 2ND HALF OF A 4-TWIG 

LET M1 = 1-M1 JRE-ENGAGE NUMBER OF MERGES 

GO TO 630 



920 
930 



940 REM. EXIT 



950 

960 

970 

1000 

1010 

1020 

1030 

1050 



N + 1 



LET LO 

1 

I 

FOR I = 1 TO N 
LET LO = L(LO) 
PRINT N(LO); 
NEXT I 
END 



•FIRST LINK IN SEQUENCE 



! FOLLOW LINKS 



L(L(N+1)) points to the second, 
L(L(L(N+1))) points to the third, and 
the last link points to itself. See Figure 
5. 



The Butterfly Merge. 

Two things happen as the mouse 
jumps from twig to twig. The leaves 
above the mouse get merged into the 
twig and the twigs and branches 
behind the mouse get merged into 
larger branches. The butterfly merge 
treats each merge the same way The 
heads of each sequence are kept at 

positions N+1, N + 2 

N+INT(LTW(N)+2) after the links 
themselves, which are kept in positions 
1,2 N of array L. 

The merge takes the last two se- 
quences in the list and combines them 
into one. One wing of the merge 
follows sequence 1 and the other 
follows sequence 2. The two are 
interwoven until the final link points to 
itself. Because the heads of each 
sequence are kept in the same array 
with the links themselves, the merge is 
extraordinarily fast. After each merge, 
the stack of sequence heads has been 
reduced by one. 



Generating Leaves. 

Each time the mouse reaches a new 
twig, she generates new sequences 
one item long to correspond to the 
leaves of that twig. A two-leaf twig is 
produced by creating two one-item 
sequences, each pointing to itself. 
Then these two leaves are merged 
once. A three-leaf twig is created from 
three one-item sequences merged 
twice. A four-leaf twig is merged from 
two two-leaf twigs: The first two-leaf 
twig is generated and merged once; 
then the number of remaining merge 
passes is set to a negative number so 
that the merge will be disabled until the 
second two-leaf twig is generated and 
merged with the first. 

After each complete twig has been 
generated, merging continues until the 
branches behind the mouse have been 
linked together. Then the mouse jumps 
to the next twig, generates new leaves 
and lets the butterfly merge fly by 
again. 

Now the mouse follows this 
procedure all the time. After the spider 
watched the mouse a few times, he 
turned into his cave and forgot. But 
every now and then sunlight shines 
through the leaves of the forest, 
reflects from the mouse's mirror and 
flashes deep into his cave. See Figures 
6 and 7. ■ 



JAN/FEB 1978 



101 



The Contributions of Edsel Murphy 

to the Understanding 

of How the Behavior of Inanimate Objects 

Affects 

Computing, Computing Devices and 

Computer Science. 



A Report to Dr. Robert Cupper 

University of Pittsburgh 
Computer Science Department 



"If anything can go wrong, it will/ 



by John P. Breen 
illustrated by Bob Heman 



Abstract 

Edsel Murphy's contributions toward understanding the 
behavior of inanimate objects as they relate to Computer 
Science is discussed. Murphy's General Law, Special Laws 
and their corollaries are presented, with supportive examples. 

I. Introduction 

Although most Computer Scientists are aware of the 
varied manifestations of Edsel Murphy's General and Special 
Laws governing the behavior of inanimate objects, few of us 
have studied these laws in detail. This oversight is un- 
doubtedly another manifestation of the General Law. 

In this paper, the author intends to show the all pervasive 
nature of Mr. Murphy's work by formal statement of the 
Laws and Corollaries and by presenting examples of special 
applications in the discipline of Computer Science. 

II. The Nature of the General Law 

Any concept or interdependency can be represented as a 
form, i.e. a function as a graph, or a more complex relation- 
ship as a topological surface. Consequently processes, per 
se, can be thought of as transitions from one steady state form 
to another. When the transition is continuous, predictable 
and smooth it can be described by classical mathematical 
methods. It is seldom the case in nature, however, for these 
form evolutions to progress smoothly. Typically, natural 
dynamic evolution is abrupt and usually involves perplexing 
divergences. 

This discontinuous and divergent phenomena resisted 




formal mathematical representation for years, until the 
recent work of Rene Thorn. 1 Thorn proved that in a space 
having no more than four dimensions (such as the four- 
dimensional time-space relationship found in nature) there 
exists just seven types of transformation. Because of the dis- 
continuous and disruptive nature of these transformations, he 
termed them the seven elementary "catastrophes", and the 
science they delineate, "catastrophe theory". 

Since Murphy preceeded Thorn by several centuries the 
inadequacies of contemporary mathematics precluded the 
description of his theory in formal mathematic symbolism, 
but by calling on catastrophe theory we may not describe the 
General Law: 

2 : 1+1 (1.) 

where : is the catastrophe theory symbol for "hardly 
ever is equal to". In the vulgar, the equation may be stated, 
"If anything can go wrong, it will." 

It is probable that the reader has been informally exposed 
to the central concepts of the General Law and that equation 
1. has therefore struck a respondent chord. In an effort to 
solidify the reader's understanding of the concepts at issue, 
especially as they apply to computing, computing devices, 
and Computer Science, we shall present the General Law, 
the Special Laws and their corollaries in a tabular form. 



102 



CREATIVE COMPUTING 



III. The General Law, the Special Laws 
and their Corollaries 

A. The General Law of Science 

In any field of scientific endeavor, anything that can go 
wrong will go wrong. 

Corollary 1: Everything goes wrong at the same time. 

Corollary 2: If there is a possibility of one of several things 
going wrong, the one that will go wrong is the one that will 
do the most damage. 

Corollary 3: Left to themselves, things will go from bad to 
worse. 

Corollary 4: Experiments must be reliable; they must always 
fail at the same place. 

Corollary 5: Nature always sides with the hidden flaw. 

Corollary 6: If everything seems to be going well, you have 
obviously overlooked something. 

B. The Special Laws of Computing, Computing Devices, 
and Computer Science. 

1. It is generally impractical to worry beforehand about 
problems; if you have none, someone will supply them for 
you. 







Corollary 1: The need to change the basic algorithm will 
be communicated to the programmers after, and only after 
the coding is complete. 8 

Corollary 2: In simple cases, when choosing between two 
algorithms, one obviously right and one obviously wrong, 
it is often wiser to choose the wrong one so as to expedite 
subsequent revisions. 

Corollary 3: The more innocuous a modification appears to 
be, the further its influence will extend, and the more the 
algorithm will have to be changed. 8 

Corollary 3a: The necessity of making major changes in an 
algorithm increases as the system approaches completion. 

Corollary 3b: Firmness of completion date is inversely pro- 
portional to the tightness of the schedule. 

Corollary 4: Suggestions made by the systems optimization 
committee will increase runtime and decrease capability. 



Corollary 5: Any paper submitted to the ACM for publica- 
tion, will be preceded by two weeks by a similar paper 
from a member of your department. 

2. In any code or collection of data, the elements that are 
obviously correct beyond all need of checking, will contain 
the error. 

2a. In any coded program, the modules which are correct 
beyond any shadow of a doubt, are causing the execution 
errors. 

Corollary 1: No one whom you ask for help will see the error. 

Corollary 2: The most nagging intruder who stops with un- 
sought advice, will spot the problem immediately. 

Corollary 3: In any miscalculation, the source will never be 
found if more than one person is involved. 7 

Corollary 4: Any error that can creep in, will; and it will be in 
the direction that will do the most damage to the calcula- 
tion. 

Corollary 5: All constants are variable. 3 

Corollary 6: In a complex algorithm, at least one factor 
from a numerator will move into a denominator, and a 
decimal point will simultaneously be misplaced. 

3. All record of the third law has been lost. During the 
preparation of this paper the source material for the third 
law was misplaced; another manifestation of Murphy's Law. 
In keeping with the Law, these misplaced documents will be 
found on the day this paper is presented. 

3a. Rules for Optimizing Software Design with Considera- 
tion given to Murphy's Laws. 

The following precepts are offered to the systems designer 
who wishes to optimize his designs according to the Laws 
and their implications. 

1. Do not simplify the design of a program if a way can be 
found to make it complex and wonderful. 6 

2. Always keep your disk area filled with obsolete files; it 
indicates that you have been busy. 3 

3. Before studying a problem, be sure you first under- 
stand it thoroughly. 6 7 

4. Do not take luck for granted; believe in it and revere it. 




5. When writing program documentation, always leave 
room to add an explanation in case the program doesn't work 
(the rule of the way out.) 

6. Always use the latest developments in the discipline of 



JAN FEB 1978 



103 



Computer Science when designing algorithms. 

a. Items such as Finagle's Constant and the more subtle 
Bougerre Factor (pronounced "Bugger"), are loosely 
grouped, in mathmatics, under constant variables, or if you 
prefer, variable constants. 

b. Finagle's Constant, a multiplyer of the zero-order term, 
may be characterized as changing the universe to fit the 
equation. 2 

c. The Bougerre Factor is characterized as changing the 
equation to fit the universe. It is also known as the "smooth- 
ing factor"; mathematically similar to the damping factor, it 
has the effect of reducing the subject under discussion to 
zero importance. 

d. Any deficiency in rationalizing a casual relationship can 
be eliminated by the introduction of a variable constant of the 
invariant type, to wit the Phuje Factor (pronounced "Fudge"). 
The value for the Phuje Factor is chosen to fill the gap be- 
tween the real and the imagined. 8 

e. A combination of the above three, the Diddle Coef- 
ficient, is characterized as changing things so the universe 
and the equation appear to fit without requiring a change in 
either. 

4. A critical circuit, required to interface devices to the 
same manufacturer's mainframe, will not be available from 
the OEM. 

Corollary 1: Interchangeable parts, won't. 




Corollary 2: An important Instruction Manual or Operating 
Manual will have been discarded by the receiving depart- 
ment. 

Corollary 3: All Warranty and Guarantee clauses become 
void upon payment of the invoice. 

Corollary 4: In any device characterized by a number of 
plus-or-minus errors, the total error will be the sum of all 
the errors accumulating in the same direction. 

Corollary 5: The manufacturer's specification will be incor- 
rect by a factor of 0.5 or 2.0, depending upon which coef- 
ficient gives the most optimistic value. The salesman's 
claim for these values will be 0.1 or 10.0 respectively. 

Corollary 6: The probability of failure of a component, as- 
sembly, subsystem or system is inversely proportional to 
the ease of repair or replacement. 

Corollary 7: A dropped tool will always land where it will do 
the most harm. 

Corollary 7a: The most delicate component will drop. (Also 
known as Murphy's Law of Selective Gravitation, this is 
proven when a dropped slice of buttered bread lands with 
the buttered side down.) 



Corollary 8: Device drive motors will rotate in the wrong 
direction. 

Corollary 9: Dimensions will be given in the least usable 
units. Tape velocity, for example, will be given in furlongs 
per fortnight. 

Corollary 10: A purchased component or instrument will 
meet its specification until, and only until, it has passed 
incomming inspection. 

Corollary 10a: A failure will not appear until a unit has 
passed final inspection. 

Corollary 11: Interactive plotters will deposit more ink on 
people than on the paper. 

Corollary 12: After the last of sixteen mounting screws has 
been removed from an access cover, it will be discovered 
that the wrong cover has been removed. 

Corollary 13: After the last of sixteen mounting screws has 
carefully been replaced, it will be discovered that the 
access cover gasket has been omitted. 

Corollary 14: After an instrument has been fully assembled, 
extra components will be found in the cuff of someone's 
trousers. 




Corollary 15: If an obviously defective part has been replaced 
in a device which was exhibiting intermittant fault, the 
fault will reappear after the device is returned to service. 

4a. Any attempt to "breadboard" an unavailable circuit 
will exceed the estimated cost by 3 21 and will fail. 

Corollary 1: Any wire cut to length will be too short. 

Corollary la: At least one technician will attempt to solve 
the problem by cutting off more wire. 

Corollary 2: The availability of a component is inversely 
proportional to the need for that component. 

Corollary 3: If a circuit requires n components, there will be 
n-1 components stocked locally. 

Corollary 4: If a particular resistance is needed, that value 
will not be available; furthermore, it cannot be developed 
with any available series or parallel combination. 

Corollary 4a: In breadboarding, Murphy's Law supersedes 
Ohm's. 

Corollary 5: A device selected randomly from a group having 



104 



CREATIVE COMPUTING 



99% reliability, will be a member of the 1% group. 

Corollary 6: A crystal filtered 5 volt D.C. power supply will 
supply 13.5 volts A.C. 

Corollary 7: If a circuit cannot fail, it will. 

Corollary 8: A fail-safe circuit will destroy others. 

Corollary 9: An instantaneous power supply crowbar circuit 
will operate too late. 

Corollary 10: An integrated circuit chip, protected by a fast 
acting fuse, will protect the fuse by blowing first. 

Corollary 11: A crystal oscillator will oscillate at the wrong 
frequency, if at all. 



Conclusion 

Since everything in nature, including its sciences and 
disciplines, is dominated by the phenomenon described by 
Edsel Murphy it is essential that we learn to live in harmony 
with it. 

The computer threatens to vanquish error. Fortunately 
nature provides checks and balances and Murphy's Law 
serves to temper and moderate the discipline of Computer 
Science. Many of man's advancements came when, in an 
effort to overcome error, he reached past his limit to ac- 
complish the impossible. "If we begin with certainities," 
Bacon said, "we shall end in doubts; but if we begin with 
doubts, and we are patient with them, we shall end in cer- 
tainties". 

Of course we will occasionally be hampered, hindered, 
frustrated and angered by the intrusion of the Murphy phe- 
nomenon. This author submits, however, that a genuine pur- 
pose is served by this visitation; it is the nature of our human- 
ness to remind us that we are human. The infusion of error 
into the grandest of schemes is another service provided to us 
by nature. Ferris Greenslet wrote, "Give me a good fruitful 
error, full of seeds, bursting with its own corrections; you 
can keep the sterile truth for yourself." 

The danger to man is not that he will be controlled by his 
computers as much as it is that he will imitate them. Humor 
is the ultimate weapon for scientists to deal with frustration. 
Finding the humor in the inevitable awkward moment causes 
the awkwardness to evaporate. Sensitivity albws man to 
find the humor; and sensitivity separates the specialist from 
the poet. Aristotle reminds us that the specialist expresses 
only the particular, while the poet expresses the universal. 

V. Cited References and Footnotes 

1. Thorn, Rene, Structural Stability and Morphogenesis, 
D. H. Fowler, New York, New York, (1975). 

2. Wirth, N., Systematic Programming: an Introduction, 
Prentice-Hall, Englewood Cliffs, New Jersey, pp. 14-25. 

3. Fisher, D. L., Data Documentation and Decision Tables, 
CAMC 9, No. 1, (January 1966), pp. 26-31. 

4. USA Standard FORTRAN, ANSI Standard X 3.9-1966, 
American National Standards Institute. New York, New 
York. 

5. Wright, Donald, A comparison of the FORTRAN lan- 
guage implimentations for several computers, CAMC 9, 
No. 2, (February 1966), pp. 77-79. 

6. Kernigan B. W., Plauger, P. J., The Elements of FORT 
RAN Style, McGraw-Hill, New York, New York, pp. 
131-137. 

7. Dijkstra, E. W., Notes on Structured Programming, T. H. 
Report WSK-03, Second Edition, Technical University 
Eindhoven, The Netherlands. 

8. Cupper, R. E., Kluges and Glitches, Lecture Notes from 
CS1, (November 15, 1973). ■ 



MURPHY'S LAWS! 

Incomparable "scientific" wit. Colorfully 
lithographed on 8" x 10* heavy Parchtext 
for framing. A great business or personal 
orft' Only $3 (4/$10). Four Comers 
Press. Oept. CCC, Hanover. Mass 
02339. 



wmS 



THE 

COMPUTER 



HARDWARE 

STORE JWC. 

Dealers for: 

APPLE II, IMSAI 

VECTOR GRAPHIC. KIM 1 

TECHNICO. OAE 

CYBERNEX. JIM PAK 

TERMINALS. PRINTERS 

BUSINESS SYSTEMS. BOOKS 

SOFTWARE AND MUCH MORE 



? 



CATALOGUE AVAILABLE 



8 1 8 Franklin Street 9 West Cary Street 
Alexandria Virginia Richmond Virginia 
(703) 548 8085 (804) 780 0348 



1 







PRAMMER III 

by xybek 

The Ultimate EPROM Memory Board 
For Your SIOO-Bus Computer 

■* Accommodates from 1 k to 30k of the above EPROMS. in 
any combination . each addressable on any 1 k boundary 
within the board's 32k address space 

* 1 k of scratch-pad RAM 

* On-board programming for all three EPROM types. 
■k Tri-state buffers on all address and data lines 

■k Empty EPROM sockets do not require address space 

* Available February 1978 for S369 50. assembled, tested, 

ready to run. 



Xybek • P.O. Box 4925 • Stanford, CA 943< 

Telephone: (408) 296-8188 



BOOR 



| 



JAN, FEB 1978 



105 



Lewis Perring emerged from the shadows for the second 
time since his mysterious self banishment from public life 
twenty years ago in the year 2192. Eighty years weighed him 
down to a mere shuffle, a nurse of neither extraordinary looks, 
nor honest compassion steadied him with palm to elbow polite- 
ness. The face of Lewis Perring was a blend of chalk white and a 
generous portion of liver spots. His mind was a lithe and as 
energetic as his vocal cords. He was an embittered man of 
priceless wit and scorn, impeccably glazed with perception. 
The dozen or so humans who'd been in various degrees of 
contact with him, more often than not were made to feel like 
blue-assed baboons with lobotomies. On occasion he would 
astound the Galactic Board members with a robot model 
that would revolutionize robotics, and speed it onward a 
decade before its time. 

Inhabitants of the federated worlds knew Perring as the 
single most powerful figure in the galaxy. Their assessment 
was wrong. He was powerful, surely, but as a figurehead. . . the 
originator of the Perring Atomic Brain and leading pioneer in 
realm of robotics. 

His empire had long since been bought, sold, halved, 
quartered, and shared out as is the inevitable fate of all corpora- 
tions. Interested parties grew in numbers so great, a computer 
of gargantuan proportions was built for the purpose of keeping 
second-to-second tabs on all dealings. 

The board of directors, spread out among the worlds, 
recognized that Perring was synonymous with "Robot" and so 
allowed the landmark title "Perring, Galactic Robots" to con- 
tinue as a product recognition ploy. 

Earth was deigned headquarters of the Federated Planets. 
Mars, Venus and the Moon vehemently protested. Mercury 
grumbled but accepted Earth as overlord. Mercury was a labor 
world of two-hundred thousand humans and twice that of 
robots. The deadly heat and radiation from the sun, the swirling 
pools of mercury and lead on the planet's surface was evidence 
enough that survival depended on Earth aid. Earth was the 
center of the cultural and economic structure in the Solar 
System. It would continue being that for some time. 

Lewis Perring was aided as far as the board room door. A 
sharp wave of his hand brushed his nurse aside. "Wait," he 
barked unreasonably. "Yes, sir," replied the nurse. She didn't 
mind his attitude. She didn't care. 

Perring opened the door and walked inside. Six men stood 
from their places at the rectangular table, off-centered so nat- 
ural sunlight washed over it from large tinted windows. 

Dane Parks, forty-six year old board head, crossed rapidly to 
Perring's side with outstretched hand. 

Perring nodded toward the other five men. A smile worked 
out from an ancient face. "Are they real?" 

A general trickle of laughter passed among the board. 

Parks laughed. "No, sir. Only myself." 

"Really?" 

Parks led Perring with an extended hand not daring to actu- 
ally touch. "Oh, yes, sir," he assured. "You see, sir, Holo- 
gramical Communication, or rather, three dimensional image 
communication is a unique invention, by Lewis. . .Perrings. . . 
oh. Sorry, sir." 

"You've made mistakes before, Mr. Parks." Perring looked 
from face to face remembering a time when they'd all been 
younger, idealistic, with full heads of hair and brains to match. 

Parks pointed at a seat for an instant. "If you'll sit here, sir?" 

"And if I won't?" 

Parks laughed uncomfortably. "Damn Perring" was the sub- 
stance of the laugh. 

Perring sat down in the high backed chair that had been 
especially well padded so as not to bruise the Robot father's 
aging skin. 

The six board members Perring was to address understood 
only one basic signpost of Robot-Computer Philosophy. . . 
credits! Lot's of 'em. 



-arside 



sn as 



rendezvous point for tr 



outer Galactic Board members. Andrew Norton, co-ordinator 
for robot functions on Mercury, was fifty-five and too old 
to undergo the rigors of gravitational orientation training 
necessary to withstand Earth pressure once again. 

Diane Pilgrim of Venus, and Janice April of Mars were in the 
same boat. They were forever imprisioned on their planets. 
Philip Nicely and Arthur Darnell were born Lunarians who'd 
made frequent trips to planet Earth but felt unpleasant sensa- 
tions and preferred the eternal bliss of moon gravity. Farside 
was also the most acceptable of all locations for communication 
purposes. It was a mere second and a half delay for radio waves 
to reach Earth. That meant a three second interval between 
each communication. Anywhere else in the Solar System it 
would be minutes, sometimes even hours. 

"Good afternoon, ladies and gentlemen. How are you 
today?" He paused a mere two seconds then added, "That's 
the way," and interruped each and every "fine sir." 

Dane Parks slapped his plam on the table and aided it with a 
perfunctory clearing of his throat. "Ladies and gentlemen. We 
know why we are here. We are aware of the ultimate threat to 
Perring, Galactic Robots if this continues. What we need to 
find out is 'Why' have the robots and computers stopped." 

Perring was involved in nail picking until an uncomfortable 
pause brought to his attention the staring faces of all the board 
members. He said, "Sixty human deaths on Mercury were a 
direct result of robot incompetency. And you want to know 
why?" He steered his head with his eyes until they leveled 
with Parks'. He smiled "They just don't make 'em like they 
used to." 

Andrew Norton of Mercury was first to speak. His voice had 
an edge on it. "The robot responsible for those deaths was one 
of many whose duties were to seek and repair damages to our 
Shield. It stopped. . .That's it. It just stopped at a critical point, 
and sixty men and women were burned by radiation. Let me tell 
you , it was ugly." 

Lunarian Arthur Darnell, a plump, finely combed, delicate 
man in his late thirties held a hand up to his mouth. "That is 
dreadful, Andrew. But, please, I've yet to eat." 

"Oh, no." Norton continued. "Let's be vivid. Mister Perring, 
our underground cities and mines are totally dependent on 
your robot and computers. You must visualize the problem. 
We depend on Perring Atomic Brains, in as desperate a fashion 
as do you for the sun that threatens us. Think what would 
happen if your sun were to vanish from the sky. 

"The Earth would plunge into eternal darkness. Arctic chill 
would grip the planet. The winds would halt, the rivers would 
cease to flow and gradually the oceans would freeze to their 
very depths. In time, the gasses of the atmosphere would, 
first, liquefy, then freeze, and in a not too distant future, an 
immense glacier of solid air would encase the earth. 

"On my world, Mercury, where the temperature exceeds 
seven-hundred fifty degrees fahrenheit there can be no atmos- 
phere. We brought, or created our own. Computers stabilize 
the temperatures. Robots repair the shields. Computers 
control, gauge, and purify the gasses for recycling. Our food 
is recycled. 

"If ever there was an absolute — it would be this; If our com- 
puters and robots continue to stop functioning every single 
Mercurian will bake to death." 

Diane Pilgrim reached a little beyond the Hologram dimen- 
sions. Perring was able to enjoy the odd image of her disappear- 
ing hand reappear with a glass of water. 

"I think," she began, nodding to Norton, "The estimate of 
total catastrophy is absurd. It must be perfectly explainable." 

"How nice!" Interruped Janice April of Mars. "Really, just 
how nice of you, Diane!" Her lips trembled with fury. "You have 
underestimated the situation as usual!" 

Arthur Darnell cheered. "Here, here!" 

Philip Nicely jumped on the band wagon. "I'm sure Janice is 



JAN/FEB 1978 



107 



right. We can't underestimate this. Andrew has said that Mer- 
cury would die, well, that holds true for all our beloved planets. 
Earth, I must remind you, will not escape unscathed either. We 
must approach this problem as if it were a total catastrophy." 

"Which it is!" Janice offered as the punctuation point. 

Perring looked from one face to the next. Diane Pilgrim was 
tight lipped and narrow eyed. Arthur Darnell was looking off 
into space wishing he'd been born on Earth. Andrew Norton 
was doodling another horror sketch in more explicit ways. 
Dane Parks, the only physically present human except Perring 
himself, waved down an excited Philip Nicely. Perring was 
enjoying this more than he'd thought possible. 

Parks turned his attention once more to Perring. Each one of 
the board members, in turn, according to degrees of heat, con- 
trolled their tempers and waited for Perring. 

"There are possibly a hundred engineers, technicians and 
theorists on Earth alone who know better than I the workings of 
your robots and computers. There are literally thousands who 
know as much as myself." He smiled. "And I know you've tried 
them all before me." He paused long enough to pinpoint the ris- 
pain. Don't feel uncomfortable." He nodded. "I know what 
happened. They looked for normal problems for an abnormal 
situation. Most of them probably shrugged the problem off on 
you, having been profoundly shot in the ego." Dane Parks 
nodded unconsciously. "Others, perhaps, blamed the anti- 
robot leagues." 

"There you have it!" Cried Darnell. "Beasts! All of them. 
They have sabotaged our beloved machines. You. . .you. . .! He 
wagged a wild finger at Parks. "You have done a bad thing on 
Earth. You people should have squashed them all long ago. 
Now we're all in danger!" 

Diane rolled her eyes "Sabotage? On a Solar System scale? I 
should think you'd all be somewhat attentive to Mr. Perring and 
quit playing." 

"How nice! How utterly wonderful! What is Diane Pilgrim 
doing on this board in the first place? For god's sake." Janice 
rang the air in front of her with clenched fists in a mock exas- 
peration. "It was suggested by one of our more distinguished 
theorists that a mechanical disease. . .an infection. . .spreading 
throughout the Solar System is responsible. It seems highly 
probably that the anti-robot leagues might be behind it. If we 
isolate the disease we would be on the road to recovery." 

Diane raged. "That is a throretical impossibility!" 

Arthur Darnell moaned. He wished he'd majored in the sci- 
ences instead of the humanities. 

Nicely was shushing them with a smile and finger to his puck- 
ered lips. 

Andrew Norton shouted. "Knock it off! We're actually sitting 
here discussing the theoretical possibilities of a robot flu epi- 
demic? I would like to know what the hell the robots are plan- 
ning and can Perring help us or not? I can't waste my time here 
if he can't." 

Perring was about to speak but Nicely was jumping excitedly 
in his seat for attention. 

"I should think it obvious what is happening." Nicely blurted. 

Darnell rotated his eyes and slapped the air. "What?" he 
asked sarcastically. 

Nicely hardly batted an eye but his voice did raise an octave. 
"The robots and computers are planning a coup!" 

"Absurd," chuckled Darnell. 

Andrew Norton exploded. "I tell you he's right! The robots 
are going to take over. They must be communicating in a fash- 
ion we can't possibly be aware of." 

Perring waived Norton down. "Computers can not overstep 
their parameters. The fact is that most of them have very little, 
if anything, in common with one another. It would be an ex- 
tremely barren communication. Each series of manufactured 
robot and computer are designed for specific purposes. Ninety 
percent are totally dependent on humans asking them a ques- 
tion before they begin to function." 

"Hah!" Janice interruped knowledgeably. "There are com- 



puters that are programmed to program! That shoots holes in 
that." 

"Hardly. Humans have created and programmed those com- 
puters. They lack one point humans possess. Initiative. What 
ever use they put our knowledge to is in the design. They are a 
clean breed with specific duties lacking creative, or selective 
thinking." 

"Then why are they stopping?" Andrew punched the table 
top with no painful regret. 

"They want us dead!" whined Darnell. 

Diane impatiently spaced her words and filled them with 
venom. "Machines don't WANT anything." 

Perring winced at the pain in his shoulder. "That is ture, 
Diane. They do not want, or need. But they are stopping, aren't 
they? And we can't get them going. Mars, Venus and the Moon 
will be littered with frozen or baked corpses, empty and clean 
buildings of soundless vacuum." 

"Stop it!" Darnell closed his eyes. 

Perring continued. "They appear to be waiting. . ." 

"For what?" Janice prodded. 

"Or receiving." 

"What? What?" 

"Waiting for the end of their message? Or possibly their pro- 
gramming?" 

Andrew was violent. "By who?" 

Parks intercepted Andrew's thoughts. "The anti-robot 
league! It figures that if, for instance, they made the outer- 
worlders die because of a robot uprising. . .Sympathizers would 
destroy Perring, Galactic Robots!" 

"How nice of you to supply an answer to a line of reasoning 
totally unreasonable. You are brilliant, Parks, really." 

"What do you think they are communicating with, Perring? 
A. . .an intelligence similar to them?" Norton was attempting to 
pull himself from the bickering. 

"To them?" Perring thought a moment. "Let's be more spe- 
cific in our nebulously human way. Let's say similar to our 
God." 

"OUR god does not exist!" Darnell squirmed with pleasure. 
"You are truly amusing, Perring." 

"Those are both accurate statements," Perring continued. 
"But what of their god?" 

"Oh, please." Diane was close to tears. "Let's form some 
action." 

"Is there any action," suggested Perring, "that would be of 
any consequence?" 

"If we have to go our and destroy every robot that won't 
work, we should!" Darnell was in a fury. 

"You foolish fop!" Norton snarled. "You'd be just as dead by 
destroying the damn things as you would from them stopping." 

"Listen," begged Parks. "Perring, Galactic Robots verges on 
collapse! Every minute we spend arguing, thousands of robots 
and computers are stopping. If theirs is a mechanical disease 
as someone suggested. . .who knows what it will cost to fix. . ." 

"We've got to fix them anyway, damn you, Parks!" Norton 
was on his feet. His head vanished momentarily and then 
returned when he was within the communication area. "We're 
talking about sixty-two million outerworlder lives!" He looked 
desperately at Perring. "What do we do?" 

Perring continued as he had before. Norton slumped back in 
his chair. "In times past, humans believed that our universe was 
all part of one God. The planet Earth was to have been created 
by God. The flowers, the trees, the vegetables and fruits and, 
yes, even animal flesh was created for our comfort." He was 
aware of a groan from Darnell. "Humans were considered 
God's children, part of God. Isn't it credible that we were 
created for a specific function? With a mission, a purpose? As 
our robots and computers were? Maybe we were to perform as 
midwives to a cleaner breed, the innocent?" 

"Insanity." Parks looked for sympathizers. "There was a 
time, horrible as it must have been, when there were no robots 
or computers, and man survived without them. Man put man 



108 



CREATIVE COMPUTING 



jsr 



where he is today." 

"And where is man today? On the brink of extinction?" 

"Extinct, my ass," flared Norton. 

"Possibly," Perrings resumed. "We evolved into a machine 
dependent race. We created them. An entire species by them- 
selves. Millions of separate organisms that need only be con- 
nected to their Messiah." Perring grasped his shoulder. The 
pain was almost unendurable. "No. There is no disease. . other 
than rust, and at last check it wasn't communicable." 

"We reside in huge condominium complexes, computerized 
to perform in our best interests. Computers do the accounting, 
co-ordinate transportation and communication. . .like the Holo- 
gramical Communication we are even now employing. They fix 
our diets, put us to sleep, wake us. Robots do the gardening, the 
labor, they are the perfect ones to create when man fears to, 
and to investigate when there is even a remote danger poten- 
tial to humans." 

"Why do you think the anti-robot leagues are even now pre- 
paring a seige on all robot factories and sympathizers? They 
are witnessing what they preached. The end of mankind. But 
they can't possibly see all of it. They never could. The fear was 
far enough for them to venture into." Perring was interrupted 
by the knocking on the board room door. The door opened 
without invitation and the nurse entered. 

Perring rubbed at the mounting pain in his shoulder. The 
nurse would place a pill in his hand and he would be expected 
to eat it. The pain would slip away and his heart would remain 
steady four more hours. 

"The robots and computers have won by doing nothing. Odd 
to think that they don't even care that the end of man is here." 

"Perring!" Barked Dane Parks. He nodded violently toward 
the nurse who'd just dropped a small blue pill into Perring's 
palm. 

"My dear Mr. Parks. This nurse is, to be sure, a member of 
one of the more violent anti-robot leagues." He placed the pill 
on his tongue and deposited it well into a corner of his mouth for 
removal later. "Am I right?" He looked up at his nurse. 



"Yes, sir." There was a bite in her words as of that moment 
unprecedented in the acquaintance. She turned abruptly and 
left the room. 

"She will report what she has heard to the crowd of hysterical 
robot-haters who have been gathering outside this building 
since my arrival." Perring nodded toward the window. "There 
is really no use trying to stop her. You see, they will attack any- 
way." 

"What?" Parks stood hesitantly and walked to the large win- 
dow. He stared out a mere instant and then jumped back. "My, 
God. Thousands! Why haven't the police done something 
about them?" His voice tickled the images of squirming Darnell, 
wide eyed Norton, Nicely, Diane and Janice. 

Perring grabbed his shoulder and fell slightly forward. He 
caught himself at the edge. A little longer, he thought. 

"We were assembly line workers." 

Norton shook his head violently from side to side. "No!" He 
pointed to Perring. He was going to gamble. "Ok, so you think 
the things are waiting for their Messiah. And us outerworlders 
are going to die despite our efforts not to. Well, that isn't right! 
Not all of it is! Because no matter what happens, somebody will 
survive on Earth. Sure, millions will die from panic, looters, 
starvation because they simply don't know how to cultivate 
their own planet. But somebody will survive. And they will 
have learned. No more robots. They'll make sure of that! No, 
your solution is nothing but an old man's nightmare. We'll find 
out what's wrong with these machines without you." Norton 
was covered with sweat. His eyes were wide and furious. 

Darnell was wimpering. Nicely 's head was buried in his arms. 
Diane was calm, her eyes shut. Janice was gawking at Norton. 

Perring shook his head slowly. "There is no hope. Can't you 
see? Do we continue to manufacture a series of robots or com- 
puters when they have become obsolete, useless? No, we use 
the better, the newer product." 

"You're horrible! You're horrible!" Tears were begining to 
spread the thin layer of rouge on Darnell's cheeks. He pointed 
at Perring. "I know what he's saying. God is a robot!" 

"Shut- up" Janice screamed. 

"He thinks we have been canceled like a line of robots!" 
Darnell was hysterical. 

Norton shouted above the screaming Darnell. "No. Not true. 
And I can prove it." 

A hologramical image of a computer screen suddenly 
appeared at one end of the table so that it was within every 
body's view. 

Norton was breathing heavy. His face was red. "Ill prove it!" 

Perring coughed, the taste of blood was in his mouth. The 
warmth, the saltiness, edged him a little more swiftly over the 
edge. He looked up at the screen. In just a moment he would 
see the proof for himself. He knew exactly what Norton was 
trying to prove. How else would you find out if man would 
continue? 

"Show him!" screamed Darnell. "Show Perring." 

Norton was frantic. "It started two days ago, right? Well, 
we'll see how many children have been born since then." He 
pummeled the keys in front of him, punching in the correct 
question. The computer was soundless but within six-seconds 
the screen read '0.00 POPULATION GROWTH.' 

Perring screamed as his heart exploded within his chest. 

Diane, Janice, Nicely, Darnell began to blur as the computer 
failed. As the final note Norton screamed, "Perring!" Then they 
were gone. 

The window suddenly burst into thousands of sharp glass 
shards. Dane Parks was thrown to the floor from the exploding 
bomb that had detonated just outside the window. They would 
soon be there, he knew, in that room and he was alone. Perring 
was frozen wide eyed in death. 

Parks stared dumbly at the body. The sounds of madness 
creeped up and lodged firmly behind his eyes. ■ 



a 



JAN/FEB 1978 



109 



ftaetrg bg Computer 



HEIRESS 



THE HEIRESS ABOVE WRITHING MISTS 

WALKS 

THE NEXT ROOM BEYOND RUINED THE FUTURE 

CERTAINLY USED TO LEAD 

HERMITS FLOWERING THE TOUGHEST TINTED DISTANCES 

TO REST HERMITS 

TO FEEL 

TO DIE 

THE RED LOVE-CARS FIRST ENTERED 

VERTICAL BLOSSOMS TAKE ENLARGING IN LOVE CARS 
TARNISHED EYELIDS OF STONE CRINGE EQUALLY IN THE FUTURE 
THE OBSOLETE GOSSIP LIVES PRETENDING ROCKS, MOSS 

TO BE ROCKS, MOSS 
CURIOUS THE MOON BLUSHED 

GLISTENING A FOOTSTEP BLUSHED 

IT IS HIS POISON 

THE GREEDIEST SPRING SNOW EXCITES 

NOBODY BY SIMPLE SPRING SNOW 

ALONE FLOATS 

THE MOON ON THE TOUGHEST SEVEN TULIPS 

SEVEN TULIPS KILLED LIGHT 
THE TOUGHEST GOSSIP CRINGES 
THE SEAL CANNOT BE 
AFTER THE DOORWAY 




BRIGHT THE HEIRESS ADMIRES TO DIE WATCHING 
PUNGENT JOY KILLED WITHIN LOVE-CARS 



BEYOND THE SKULL 

HAPPY I CRIED SELF-CONSCIOUSLY FLEEING THE CITY 
GREEN MY WIFE GIVES TO FOCUS AND CUNNING PASSAGES 
NAKED MY NORTH ROOM GLIDING IN ITS HOMICIDAL EYE 
SECRETIVE THE STREETS LIVE GULPING WITH MEDITATIONS 
INLAND MOUNTAINS HURLED AS TRUMPETS BELOW BLADES 

ANALGESIC INLAND MOUNTAINS GROW TO BE MY HEAD 
SECRETIVE CLUES WATCHED GULPING SO THAT HELL 
TARNISHED MY NORTH ROOM TO ARRANGE BEYOND THE SKULL 
CUNNING PASSAGES MEDITATE EYELIDS OF STONE 
WHITE WESTERN STARS HAD BROUGHT WIND INTO THE CITY 



110 



CREATIVE COMPUTING 



Poetry by People 



INSURANCE COMPUTER 

I went to my insurance man just the other night. 
To figure a plan for me that would be exactly right. 
Behind his desk so smug and glum a fine computer sat. 
We would not get along, I could see right off the bat. 

I could tell by the way it blinked its lights at me. 
That it and 1 would battle, at least we would disagree. 
The insurance man was busy with papers and a form. 
The computer showed me then nothing but its scorn. 

When my card went in, it threw it out with dry contempt, 
Did not accept it until about the third or fourth attempt. 
Now I have a fine insurance plan, tailored for me alone. 
My windows will be paid for if smashed by a lunar stone. 

I shall be paid a princely sum I know without a doubt, 
Should I ever be struck by Mohamed Ali in a fistic bout. 
Or if it should happen on the Inter-State Eighty One 
That my dog sled team and I should by a bus be overrun. 

Now these things will make me rich yes indeed. 
But right now this is not my one and only need. 
I want to get even with that Computer so smart. 
It thinks it has outsmarted me in whole or in part. 

But I have a plan that I know it will surely succeed, 
To take away that one thing that all computers need. 
Take away this and they lose their respect and control 
Yes, I mean to steal each and every punch card Hole!! 




Edward Stewart 



SECRET LOVE 

Computers hav(; no heart people very often say. 
Nonsense! 77k; oik; / worked with is warm. bri«/it and gay. 
It is smart and fast, friendly too. I may wish to add. 
It is the best friend that / have ever had. 

/ have talked toil for hoars, when the others are all gone. 

Talked to it thru the night almost to the dawn. 
My machine won't tall a sou/, confides in me alone. 
/ tell it secret things, like the brand of my cologne. 

We have talked for many hours, fur into the night, 
Argued too, about fishing, tvhen and where they bite. 
Some at the office now start to give me tony, odd looks. 
When / start to read to it from out of my dirty books. 

They have put me away now. in a brand new home. 
That gives me more time to write and draw up my own 

tome. 
So it don't matter so very much what they have to say. 
1 would write much more but they took my crayons away. 



ESAT 100 

Economical Stand Alone Terminal 

Assembled, Tested, Burned In S239.00 



lypa . SCMP Jolt K>m SBC SO Uwt A •«■ ■ 

pentivr *»l* CiMitanwd (iirt.m„i.,( at i<<) Tfunm* 

Jivmtitrd bu«Wd m, J'Hl trM.il S? t9 00 

SPECS 3? cKaractfr « 16 bnei ■ 7 w "* 5 « J dot nutria M 

Charact"* ASCII . r, mm., <>.i jt.nq t>.th a w ,jl My'Kri'orMMJl 11 

untt codr. TTL compat'tH*- from 300 to MOO baud Kry board 
Ctftmn ar«* tuck and forward ipac* tarts. >**d de* P*9*. Of lo 
end of line, leleci pa*r 1 or 7 '• 
iLnvi' oiintf odd »v»n no parity Output to TV " 
Compmif? Video 75 Ohm*. Keyboard required d pn 

' ASCII with »egaf>ve ir u * Uiobn Keyboard may lap 
up to 700 Mo from the ESAT 100 o«> board SV power tupp'y 
Powei required it 1 10VAC ** 7 warn 

COMMENTARY At the, wniirtf 1 10 I 771, ihe ESAT 100 r| the 
only Stand Alone Tummii board •nin • 'Hj only black *>xJ 
wn.tr TV wt and ASCII Keyboard You do not have to have 
a S100 Bui Machine or even a computet May b* UN 
|unct>on with a Modem and your home TV tet to pro* -de a time 
thare type terminal at any Baud rate ■ 

Note commer ■ 80 character ■ ?*J l»»e fo« 

mat However we have cho*e» 3? character . Ih I 
vmon i«i appJ'taiKv.s because •>* the limited revolution available 
on mo*t T V wm 

reonettvHe^ fur thou- Of you who air ff ■■■ 

01 ihe bev of Mw t T '. 
if>e 
d Adapter Kit <dn>oned to f>t on ESAT 1001 with 64 
■j tor S79 95 
M Or R Super mod R F M. ■■ 

your TVtii flu"i nft o' ESAT 100 power tuppiy color and 
black S, wh.ie for S?4 95 



ITflifl 
iiiifil 
glllll 

SI I f 1 1 
Si I III 



LINEAR 

LM380N I 39 

LM340T 5.12.15 
99 



CAP. SPECIAL: 

The Highest Quality. 

By past anywhere 

VK06 1 100V for $0 29 



Full Color TV Game Kit: 

Includes MM5/100 Game Chip. MM53104 Clock Gen. LM1889N Color 
Modulator 3.58 MH* color burst oscillator crystal, variable cap for crystal 
ad) and PC board. Very impressive on color sets. All data sheets and 
schematics included. ..$25. 95 

Direct Reading Capacitance Meter Kit: 

Here is a handy shop item incorporating a reliable and accurate mea 
surement method which works from 01 pico * d to 10 micro * d. Includes 
large 6" scale analog meter movement, all electronic parts and full docu 
mentation and theory of operation. Requires 5V and • 12V power. Makes 
accurate readings directly and instantly' No tuning fiddling or interpola 
tion required. Full documentation and theory. ..$39. 95 

5V Regulated Power Supply Kit: 

Provides regulated 5V ("> approx. 250 ma for benchwork, breadboards and 
small projects Includes LM340T 5 regulator, rectifiers, filter caps, and 
wall plug transformer Full notes... $6. 95 

Nicad Batteries and Charger: 

2 ea 2AH 'C sue Nicads (great for memory power fail CKTS. cold wea 
ther flashlights, etc. and charger. ..$13. 95 



VERBATIM Removable Magnetic Storage Media 

PRICE REDUCTION! 

Minidiskettes 



NE560 

NE561 

NES65 

NE566 

NE567 

LM1812 

LM1889 



2 95 
2.95 
1 95 
1 49 
1 49 
495 
495 



19 
4.79 



1025 
4 65 



26 100 
4.45 



CPU SPECIALS 

8080A 10 95 

Z80 !2mH,l incl 
18mH2 Xtal 33.95 
Z80A (4...H/I incl. 
36mHi Xtal 39 95 

OPTOCOUPLERS 

4N26 1 00 

PROMS 

8223 Special 10 9 95 

82S1158 a 512 15 95 

EPROMS 



MD525-01 
MD525-10 

MD525 16 

Standard Size 
Diskettes 
FD34 1000 
FD32 1000 
FD65-1000 
Cassettes 
R 300 
Digital Direct 



(Soft Sector) for Intelligent Systems. 

Magnovox, Microkit, and Vector Graphics 

(10 Sector. Hard) for: Digi-log. North Star, 

Polymorphic, Tei Inc.. and Wang 

(16 Sector, Hard) for: Altair, Comtek, 

Micropohs, R2E. Realistic Controls, 

and Teleray- Research Inc. 

19 10 25 26 100 

599 533 479 

(Soft Sector. IBM Sid. I 

(Hard Sector. Inner dia.) 

(Hard Sector, Outer dial 



19 



1025 26 100 



525 



4 99 



2708 

2708 

C1702A 

MM5203Q 

MM5204O 



650nS 

450nS 

lOOOnS 



12 95 

16 95 

4 95 

4 95 

9 95 



RAMS 
21 L02 1 
21 L02 
211 1 AL 4 
C3107B 
PD41 ID 4 



450nS 
250nS 
450nS 
60nS 
135nS 



1.25 
1 50 
2.30 
1.99 
3.99 



4.35 

and OTHERS 

AV5 1013 495 



Tested. Burned In Complete 

$179 00 for 450nS 

$239 00 for 250nS 

$ 19.00 for Bare Board 



/KS^\<MibTm>^ff 



MM5369 
MM5320 
2513 Up. 
2513 Lo 
IN4005 
IN4148 



Electrolabs 

POB6721, 
Stanford, CA94305 

415-321-5601 



1 69 
6 00 
5.95 
6 95 
11/1.00 
15 1 00 



SATISFACTION 
100% GUARANTEED' 



TO ORDER: 

Send check or money order and include $1.00 for shipping, 1.00 (op 

t tonal) for insurance, end please include 6' *% sales tax if you ere e 

California state resident. COD orders add 85 Thank you- 



IF YOU'RE NOT SUBSCRIBINGTO CREATIVE COMPUTING, 
YOU'RE NOT GETTINGTHE MOST OUT OF YOUR COMPUTER. 



No computer magazine gives 
you more applications than wedo! 
Games. Puzzles. Sports simula- 
tions. CAI. Computer art. Artifi- 
cial intelligence. Needlepoint. 
Music and speech synthesis. 
Investment analysis. You name it. 
We've got it. And that's just the 
beginning! 

Whatever your access tocompu- 
ter power — home computer kit, 
mini, time-sharing terminal— Cre- 
ative Computing is on your wave- 
length. Whatever your computer 
application — recreation, educa- 
tion, business, household manage- 
ment, even building control — Cre- 
ative Computing speaks your 
language. 

Read through pages of thorough- 
ly documented programs with 
complete listings and sample runs. 
All made easy for you to use. Learn 
about everything from new soft- 
ware to microprocessors to 
new uses for home com- 
puters. And all in simple, 
understandable terms. 
And there'ssl ill more. 
CreativeComputing 
discusses creative 
programming tech- 
niques like sort 



u.ini in gel ihi- ninsi out "1 mj computer. 
Please enter m> lubscription in: 

creative 
computing 



Trim 
d l-year 

D 2->imc 

D 3-yeei 
d Lifetime 
D Vol. I Bound 
D Vol. z Bound 



1'SA 
DS H 

as i"' 
as 21 
as :ioo 

a^ in 
as hi 



Foreign Foreign 
Surface Ail 



as \2 
as 2:1 
as 33 
os -inn 
as 12 
as 12 



a s 39 

a Soon 

□ s is 

□ S ir> 



a Paymenl En< losed 
a Visa Bank American) a Maslei 1 
Card No. 



a please 
added: 


lull 

lllll 


me 

IK' 


IS1.00 billing 
orders must 


tee \\ ill Ih- 
ii- prepaid] 














Address 












Cll\ 






^i.,ip 


Zip 





Send in: CreativeComputing, Attn: Andrea 
l> llnv 789-M, Morrislown. N.| <i7<m.ii 
















algorithms, shuffling and string 
manipulation to make your own 
programming easier and more effi- 
cient. 

We can even save you time and 
money. Our extensive resource 
section is filled with all kinds of 
facts plus evaluations of hundreds 
11I items. Including microcompu- 
ters, terminals, peripherals, soft- 
wine packages, periodicals, book- 
lets and dealers. We also give you 
no-nonsense equipment profiles to 
help you decide which computer is 
best for you — before you spend 
money on one that isn't. 

We've got fiction too. From the 
best authors in the field, like 
Asimov, Pohl and Clarke. Plus 
timely reviews of computer books, 
vendor manuals and government 
pamphlets. And so much more! 
Isn't it about time you subscrib- 
ed to Creative Computing? It's 
the smart way to get the most 
mil of your computer. 
Complete this coupon anil 
mail it today.Or for fast 
response, call our toll- 
■»»y tree hot line. 

(800) 631-8112. (In 

X New Jersey call 

(201) 540-0445). 






*•. 





























"'<*l!s > ,_ 









•os 




Place 

Stamp 

Here 


•os 








Place 

Stamp 

Here 












« g 
















S o 






a o 










S 8 "» 

S si 






e goimp 

Box 789 M 
in, New Jersey 










P.O. 

Morristowi 






£ 21 
« | 










fa 

3 


u 
u 

cD 




3 


u 
u 

cO 





Books, Merchandise & Subscriptions 

Cat Oescriptiotis Price 




[hipping charge- $1. USA $2. Foreign 
NJ residents add 5% sales tax . 

TOTAL . 



State 



Zip. 



lam. 
Address 

:it H 

i Cash. , check or "M.O. enclosed 
JVisa/BankAmericard oMaster Charge 
ITardno.. Exp. 



] Please bill ine (^lOObillitjg fee will be added) 
;>kord«rs from individuals must be prepaid 



for faster service coll 

toll free (oOOj 631-6112 

In NJ call (201) 540-0445 




a New □ Renewal o Address change 
TYPE OF SUBSCRIPTION 



• ? Su.tJU Air * 



Institutional 1-yr. 


□ $15. 


o+20. 


o$26. 


3-yr. 


D AO. 


d 52. 


D 66. 


Individual 1-yr. 


o$ 6. 


o$12. 


a$20. 


2-yr. 


D 15. 


o 23. 


D 3ft 


3-yr. 


D 21. 


d 33. 


a 57. 


Lifetime 


O300. 


o4O0. 


a600. 


YOUR NAME AND ADDRESS : 






N*ir»e 








Addtv«w 








Citu State 


Zip 





For 9 change of address, please attach 
old label here. Without it, we cannot 
assure uninterrupted service. 

PAYMENT INFORMATION 

o Cash , check, or TVT.O. enclosed 

oVtea/BonkAmericard rjMaster Charge 

Card no. , Exp 

d Please bill ine ($1 00 billing fee will be added) 
Bookord«rs from individuals must be prepaid. 



Peafeive Computing brings you its best! 




[ Some Common BASIC Programs 

Adam Osborne. An ideal workbook to accompany 
a BASIC programming course or for one's own 
use Contains 76 general purpose, practical 
BASIC programs with complete listings 192 pp 
$7.50 [7Ml 

| Game Playing With Computers 

Donald Spencer. A good mind-exercising 
resource. Contains over 70 games, puzzles and 
recreations for the computer The games, in both 
BASICand FORTRAN, have detailed descriptions, 
flowcharts and output. Also includes a history of 
game-playing machines and lots of "how-to" write 
your own games 320 pp hardbound $16 95 |8S] 



BASIC Programming 

Kemeny and Kurtz. An excellent gradual introduc- 
tion to computer programming in BASIC with lots 
of samples ranging from simple to complex Rated 

The best text on BASIC on almost all counts ' 150 
pp. hardbound $8.50 [7E] 



Byte Magazine 

If you're considering your own personal com- 
puter, then you need Byre. With an emphasis on 
hardware. Byte provides a wealth of information 
on how to get started at an affordable price 
Theory, opinion, how-to articles Subscriptions. 
USA 1 year $12J2A). 3 years $32 [2B|; foreign 1 
year $25 |2F) First issues of this now classic 
publication have been edited into The Best of 
Byte. Volume 1. 386 pp $11 95 [6F] 

Microcomputer Design 

Donald P Martin This book is well-suited for the 
engineer who's designing microprocessors into 
his company's products Not just block diagrams 
or vague theory, but dozens of practical circuits 
with schematics for CPUs based on 8008 chips 
Includes interfacing to A/D. D/A. LED digits. 
UARTs. teletypewriters Over 400 pp $14 95 |9P] 



A Guided Tour of Computer 
Programming In BASIC 

Dyer and Kaufman This 
book tops all introductory 
texts on BASIC Filled 
with detail and examples, 
it includes sample pro- 
grams for many simula- 
tions, several games, re- 
servations systems and 
payroll Aimed at the 
novice, but of value to 
everyone 156 pp $4 80 
[8L] 



For faster service call toll free 

800-631-8112 

In NJ call 201-540-0445 




Creative Computing Magazine 

The #1 computer applications magazine helps you get the most out of your computer, be it a micro, mini 
or timesharing system Plenty of practical applications in education, small business management 
household management, recreation and games, and building control Programming techniques, for 
those writing their own. include sort techniques, recursion, and file structures Complete listings and 
sample runs of games, investment analysis, music synthesis, artificial intelligence programs and much 
more Articles, in-depth book and resource reviews, hardware and software evaluations and even some 
fiction and foolishness. "But the best thing about Creative Computing is its feisty, friendly attitude" — 
The Village Voice Subscriptions. USA 1 year $8 |1A|. 3 years $21 [1B|: foreign 1 year $12 (1G|. 3 years 
$33 [1HJ. Sample copy $2 [1CJ Volume 1 and 2 issues have been edited into two big 324-page books 
American VocationalJournal said of Volume 1. "This book is the Whole Earth Catalog' of computers " 
$8 95 [6A| Volume 2 continues in the same tradition. "Non-technical in approach, its pages are filled with 
information, articles, games, and activities Fun layout ." — American Libraries $8 95 [6B] Also available 
is a special package of all the single issues in Volume 3 for only $8 |1N) 



Artist And Computer 



"Get yourselves a copy of this book if you enjoy 
feeding your mind a diet of tantalizing high-impact 
information." — San Francisco Review of Books 
In this book. 35 artists present a multitude of 
computer uses and the very latest techniques in 
computer-generated art 132 pp $4 95 softbound. 
|6D|. $10 hardbound [6E| 

BASIC Computer Games: 
Microcomputer Edition 

David H Ahl An anthology of 101 games and 
simulations. Everything from Acey-Deucey to 
Yahtzee. all in BASIC The only book of its kind 
with complete listings, sample runs and descrip- 
tive write-up of each game 248 pp $7 50 |6C] 



Creative Computing Catalog 

FREE 16-page reference to computer-related 
products not readily available in commercial 
stores Lists books, magazines. T-shirts, game, 
binary dice and more [5A 




^r 


[ •: , 


• v» ' ^" T ' 


„'* 


— ^ 


a 


i 




*QL 


2ft * 3* 


LL 


mrkJTEP.-P.flGE 


■.*- 


;>'s=is«_rj 



The 

Colossal 

Computer 

Cartoon 

Book 



S.t back and relax Take a break with the best 
collection of computer cartoons ever Popular qilt 
item too 128 pp $4 95 [6G| 

Problem Solving With 
The Computer 

Ted Sage Used in conjunction with the traditional 
high school math curriculum, this book stresses 
problem analysis in algebra and geometry This is 
the most widely adopted text in computer 
mathematics 244 pp $6.95 [8J] 

Computer Rage 

Fun and educational new board game based on a 
large-scale multi-processing computer system 
The object is to move your three programs from 
input to output Moves are determined by the roll 
of three binary dice representing bits Hazards 
include priority interrupts, program bugs, deci- 
sion symbols, power failures and restricted input 
and output channels Notes included for adapting 
game for school instruction Great gift item Ages 
8-adult. 2-4 players $8 95 |6H] 



Getting Involved With Your 
Own Computer 

Solomon and Viet One of the first books on 
microcomputers that requires no previous 
knowledge of electronics or computer program- 
ming Tells you where to find information, explains 
basic concepts and summarizes existing systems 
Good place for the neophyte to begin 216 pp 
$595 [9N] 

An Introduction to Microcomputers 

Adam Osborne Volume 0. "The Beginner's Book" covers microcomputer system components, how they 
work together; number systems, the basics of programming, and putting it all together in a system of your 
own 264 pp $7 50 (9T) Volume 1 . Basic Concepts, also assumes no prior knowledge of computers It 
covers basic principles, binary arithmetic, the microprocessor CPU. I/O logic, memory organization and 
programming 264 pp $7 50 [9KJ. Volume 2 (2nd Edition). Some Real Products, covers 20 actual 
microprocessors in considerable detail including timing diagrams, instruction sets, and interrupts 760 
pp $15 |9Lj 



Fun & Games With The Computer 

Ted Sage "This book is designed as a text for a 
one-semester course in computer programming 
using the BASIC language The programs used as 
illustrations and exercises are games rather than 
mathematical algorithms, in order to make the 
book appealing and accessible to more students 
The text is well written, with many excellent 
sample programs Highly recommended " — The 
Mathematics Teacher 351 pp $6 95 [8B| 



creative computing 

Please send me the following 
Ouan. Cat. Description 



Books shipping charge 
$1 USA.$2 Foreign _ 



Attn: Cheryl PO Box 789M. Morristown. NJ 07960 USA 



Name _ 

Address 

City 



State 



Zip 



NJ residents add 5% Sales tax 
TOTAL 



D Cash, check. MO enclosed 
D Bank Americard/VISA 
o Master Charge 

Card No 

Expiration date 




Richard Grant 



lustrated by Richard von Magnus 



114 



CREATIVE COMPUTING 



I wasn't doing much that afternoon, just twiddling my 
memory banks and staring out the window, when she walked 
into my office. All five foot eleven of her. She was wearing a 
black silk blouse that was open down the center to the navel, a 
black leather skirt slit up the side, black shiny boots, and a wide- 
brim straw hat that hid her eyes and made her seem taller. A 
thin brown cigarette protruded from her fingers, dropping 
ashes silently on my rug. 

It was a swell outfit. The only thing missing was a panther on a 
leash. She'd probably left it double-parked outside. 

I said: "Take a chair, sweetheart, you've already taken my 
heart." 

She whirled around, startled, and stared at me. Her jaw 
dropped. "You? You're Sam Data, the detective?" 

"That's what the sign on the door says." 

She smiled, a thin hard smile. Then she threw her head back 
and laughed. Between gasps for air she got out, "It's. . .it's just 
that I was expecting. . . ." 

"Yeah, I know, you were expecting Humphrey Bogart. I can 
talk like him, if that's any help," I said, switching my voice- 
syntax box over to Bogart. It limited my vocabulary a little, but I 
didn't think it would matter. 

She sat down on the hardwood chair I provide for my clients, 
and hitched her hat back. That gave me a look at a pair of 
smoke-filled green eyes. "A computer private detective." she 
said, shaking her head. "No wonder you don't make house 
calls." 

"Figured that out all by yourself, did you." 

She laughed again. "Bogart, all right. Down to a T. This is just 
too much. Who writes your dialog?" 

I let that one go. Business hadn't been too good lately, and I 
heard a rumor that if it didn't pick up I might soon be recording 
parking violations. I needed a client, so I turned on all the Sam 
Data charm. "My programmer was a great fan of hard-boiled 
detective fiction. Some of it rubbed off. Now did you come on 
business, or are you just up here to admire the view?" 

Her face straightened out, and she looked disdainly around 
my office. There wasn't much to look at. A couple of chairs, a 
table with a few dusty magazines, and four empty walls badly in 
need of a paint job. Outside, the steady stream of traffic up and 
down Sunset sounded like a river heard from a long way off. 

"Business," she said finally. "I, I don't know quite how to say 
this." 

"Try moving your lips." 

She sneered at me, dropped her cigarette on the rug, and 
ground it to pieces with a six-inch heel. "It's about my husband, 
Robert. Robert Barkley." 

"What about him?" I said. 

She smiled nervously. "Well, he's dead." 

I ran that one through, then said, "Uh-huh. Since June 6th. A 
.38 slug in the head. One shot fired at, or about, 3 a.m. Ballistics 
match it to a .38 automatic which just happened to be found in 
the deceased's hand." 

She stood up, her face pale. "But. . .how. . . ." 

I ignored her and went on. "Could be a suicide. He left a 
typewritten note, but there's one problem. He forgot to sign it. 
The note contradicted his will, and left everything — and I do 
mean everything — to his nephew. Bad break for the wife, wasn't 
it, Mrs. Barkley? Or should I call you Susan?" 

She was still standing, the crown of her hat just about 
scraping the ceiling. "Do you mind telling me how you know all 
this?" 

"No, I don't mind. I have some friends down at police 
headquarters. I've helped them out on a few cases, and in return 
they let me keep an open channel with their computers. Now let 
me ask you a question, just what is it you expect me to do for 
you?" 

She sat down again, and lit another cigarette. "This 
channel with the police, is it two-way? I mean do they hear what 
I'm saying?" 

"Not unless I want them to. And right now I don't want them 
to." 




She looked a little skeptical, so I said, "Listen Mrs. Barkley, if I 
didn't respect a client's confidence I wouldn't be in business for 
a minute. The police know that. They let me keep the open 
channel because when things are slow, I do some work for 
them, that's all. I can shut it off, or make it one-way any time I 
want to. Understand?" 

The straw hat nodded up and down. "I guess it doesn't matter 
if the police know anyway," she said, taking a large drag on her 
cigarette. "Of course the reason I need you is to prove that the 
suicide note is a phony. I know it is. Robert and I were, well, we 
weren't on the best of terms, that's no secret, but he wouldn't 
have cut me off like that. And he wasn't the type to commit 
suicide. He was too much of an egoist for that." 

"Uh-huh," I said, and pressed a few buttons. In ten seconds 
the piece of slick paper was ready. I fed it out of my bottom slot 
so she would have to bend over to grab it. That gave me a quick 
flash of her legs. They were nice legs. 

"What's this?" she said. 

"It's a photostat of the suicide note." 

She looked up, impressed. I went on, "It was typed on an IBM 
Selectric — the one in your husband's office — on a carbon 
ribbon. There were standard business letters on the ribbon 
before the note, and nothing after it, so it was the last thing 
typed. I'm studying your husband's other correspondence now. 
And from the looks of it, I'd have to agree with you. He didn't 
write that note." 

"What?" she practically yelled. "How can you tell already?" 

"Patterns. They're as evident in writing as they are in speech, 
of course, not to the average person though. By examining a 
large sampling of someone's writings, and giving mathematical 
configurations to certain words, a definite pattern emerges. The 
pattern in the suicide note is not your husband's." 

"I've never heard of this before." 

"Yeah, well actually it's not totally accepted by the law 
enforcement community yet. It's just something I've worked 
out — one of my many services." 

"Yeah," she said. "Last year's jokes and tomorrow's crime- 
detection techniques." 

I let that one go by, too. "Funny thing about these word 
patterns. I can tell who did write that suicide note if I have some 
samples of their writing." 

"Yeah?" she said nervously. 



JAN/FEB 1978 



115 



"Yeah." I wasn't sure, but I have it a try. "You know as well as 
I do, Mrs. Barkley, that an unsigned suicide note carries no 
weight with the law in this state. You get the whole inheritance 
just like the original will says. But the note was clever, I'll give 
you that. It threw suspicion on the nephew, without causing you 
any great danger. In order for it to work, though, you had to 
pretend to be concerned about it, so you decided to hire a 
private detective. That was your only mistake. The suicide was 
easy enough to fake. You probably just shot him in his sleep, 
or..." 

She stood up fast, knocking the chair over behind her. "You 
can't prove that..." 

"Don't kid yourself, sister. The cops are already on their way 
over. I put out a call to them five minutes ago. And don't bother 
trying the doors. They're on an electronic lock system, and I 
already switched them on." 

Her green eyes flicked to the door, then back to me, spitting 
daggers. But her voice literally purred. "You don't want to tell 
the cops anything," she said walking towards me. She put her 
fingers out and stroked my data-control center. Her fingernails 
were painted black. "We could be good for each other, Sam. 
You're right about the will — all that money is mine now. Or 
should I say ours. I can have you moved out of this shabby 
office, we can go to Rio, or we can. . ." 

"Can it. You're taking the fall, kid. Oh sure, we might be good 
together for a few weeks, maybe even a month. But then one 
morning I go to recharge and find my power-pack unplugged." 

"You've thought of everything, haven't you," she said, her 
voice taking on a hard edge. "Except this." I was looking into the 
barrel of a small automatic. 

"I told you — the police are on their way." I was still using 
Bogart's voice, but it sounded funny now. 

She laughed. "Let'em come. What's the penalty for shooting 
a computer?" There was a tiny spark, the gun jumped in her 
hand, and one of my electronic eyes shattered. There were two 
more hard slaps, and then the sound of ripping metal. Damage 
reports flooded in. I put out an all-points bulletin for every police 
car to come to my address. It was a police code I wasn't even 
supposed to know, let alone use, but for once I was glad I didn't 
always play it straight with the police. 

Three more shots rang out in the small room. Blue smoke 
hung in the air. 

She hadn't hit anything vital yet, but it was only a matter of 
time. I had to take a chance. Over by the door, about ten feet 
behind her, I had a small speaker I used to talk to the mailman 
with. I swtiched it on, and suddenly Lee Marvin was saying, "All 



P 



Personal 

Computer 

Corporation 



•-«> 



We know EDUCATION 
We know COMPUTERS 
We have, on the premises 

• FULL TIME SERVICE & 
REPAIR 

• FULL TIME PROGRAMMING 
We Accept; 

Master Charge 
BankAmencard 
Purchase Orders 
ASK FOR EVERETT 
DAVE 
ED 
FOR ALL 
YOUR MICROCOMPUTER 
REQUIREMENTS 
Frazer Mall, Rtes 30 & 352 
Malvern. PA 19355 
Phone (215) 647-8463 






right sister, hands in the air, slowly, and don't turn around or 
you've had it." 

She jumped about a foot. 

"Didn't know Sam had a partner, did you?" Marvin said. 
"Only this partner's flesh and blood." 

It didn't sound like flesh and blood. The speaker had a static 
like noise to it, but it was good enough to fool her. She raised her 
arms in the air. 

"Sam, open a drawer." 

I threw one of my electronic storage drawers open. 

"Drop the gun in it, sweetheart." 

She did as she was told, and I slammed the drawer shut. 
Maybe the Pittsburgh Steeler Front Four could have opened it 
again, but she couldn't. 

Slowly, she turned those beautiful green eyes towards the 
door. "But. . .where. . .you. . .you tricked me!" 

"That's right, honey," Lee Marvin said from my main voice 
box. 

She whirled around on me. "Okay. So you got my gun, so 
what. No jury in the world is going to believe all that word 
pattern mumbo-jumbo. You haven't got anything on me." 

"You're right about the word patterns. That stuff is straight 
from the comic books. But everything you've done and said in 
this office has been tape-recorded and video-taped. Should be 
enough to give the cops something to think about. You see, that 
chair you were sitting on, when you weren't pumping bullets 
into me, is an electrically-wired lie detector. My own invention. I 
got a hunch about you from some of the readings I was getting, 
and I decided to play it." 

Her shoulders sagged. "And I fell for it." 

"From twenty stories. But don't feel too bad. With your legs, 
you should get off pretty easy." I opened another drawer, the 
one where I keep the office bottle, and said, "Have a drink." 

In the distance, the wail of police sirens cut through the noise 
of the traffic below. She took the bottle and the dirty glass next 
to it, and poured herself a healthy slug. She threw it down with 
one quick jerk of her head, and poured another. Her green 
eyes lifted to one of my unshattered electronic ones. 

"You know Sam, I wasn't on that lie detector thing of yours 
when I was stroking you, but I did feel something. Really, I did. 
You know, you're kind of cute." 

"Yeah," I said. 

"Maybe I'll get off easy. We could start off fresh when I get 
out." She walked over, and ran her arms up my data banks, 
carefully avoiding the holes where her bullets had gone in. 

"Sure kid," I said, as 1 unlocked the office for the two 
uniformed policemen standing. "I'll be waiting for you." ■ 



PROGRAMMING PROJECTS 
ACROSS THE CURRICULUM 

Edited by Ronald G. Ragsdale 

Sample exercises demonstrate the potential of computer 
programming assignments in a variety of secondary school 
subjects. Teachers of computer programming will find the 
book especially helpful in initiating cross-disciplinary projects 
that tackle valid problems in different subjects as well as in 
developing programming skills. S3. 75 

Orders of $20 and under must be prepaid; please 5% for 
handling. 

Order from: 

Publications Sales, The Ontario Institute for Studies in 
Education, 252 Bloor Street West, Toronto, Ontario, 
Canada M5S 1V6 



116 



CREATIVE COMPUTING 




•CREATIVE COMPUTING 1978 




IT'S A 6MAT MC COMPVTB WOtlD 

M TBjBJ OMy MM 

"thT 
computer corner 

• SOL - ASMOl^ltH«i! 



• POIV -M 
• TOL Z-BO 

• M tmor« & i Boar* 

• Computar Book Sanaoa 
• Magnate Tapa* b Oak* 

• Ful Lma o< Miqukwi 

• Br*n GanM & Puutas 

tWortjNvi (r Club Mar ma eon 



V*t THI COMPUTE* COANIR tar M tow 

computar neada Slop m and tnowea - vou ■ kfca our 



THE COMPUTER CORNER 

Jl Whin Plaint Mall - Uppar Laval ^ 

, 200 Hamilton Avenue ., 

4- White Plains, New York 10601 _, 

£ Tal: (»14) WHY-DATA ^ 

Ample Patting "" 

*". tMOaayaSetuntey ^ 

*V KXTNuaoav •J* 



INSURANCE 
POLICIES 

















COMPUTER 

DATING 
SERVICE 


cfi 


V 












'creative computing 



..•reviews 




People's Capitalism: The Economic* of the Robot Revolution. 

James Albus. New World Books. College Park. MD. 157 pp.. 

paperback. 1976. 
The First West Coast Computer Faire Conference Proceedings. 

Jim Warren. Editor. Computer I aire. Box 1579. Palo Alto. 

CA 94302. 336 pp.. soft bound. SI2. 1977. 
Computer Concepts for Management. I wo cassette tapes. 80- 
page loose-leal manual. SI 50. 1976. 
Developing I ser-Ortented Systems Two cassette tapes. 

looseleaf manual. $175. 1975. GROUP 3. 21050 Vanov.cn 

Street, Canoga Park. CA 91304 

Albus points out that most people in our employee society are 
wage slaves — no wage or salary, no income. As automation 
reduces the number of real, worthwhile jobs, their place is taken 
by often intrinsically worthless make-work jobs simply because 
the wage is the primary method of income distribution. 

People's Capitalism advocates replacing or supplementing 
wages with income from a National Mutual fund, established 
by Congress and funded through loans from the Federal 
Reserve System. The NMF provides capital to enable businesses 
and factories to modcrni/c and increase production. Thus the 
people would be the capitalists funding industry and the 
dividends of the NMF would be distributed to the people. 
eventually making them largely independent of wages as a 
source of income. 

It's an interesting idea, it one believes in the fanciful notion 
that the United States is a democracy. However, Albus does not 
adequately deal with the already massive problem of what 225 
million people are going to do with leisure time coming out of 
their cars, the distinction between labor and work, and the 
tendency for automation to centralize power and engender a 
technological elite. Also, it seems to me thai distribution of the 
NMF dividend would undoubtedly require assignment of a 
universal product code. er. excuse me. identification number to 
individuals. When that time comes. I'm going to join the neo- 
l.uddites. 

The First West Coast Computer I aire conference 
Proceedings is very difficult to describe. It is a rich and fertile 
compendium of papers covering topics that run the gamut of 
everything even remotely concerning home computing. 
Something for everyone, etc. II you want to know what personal 
computing is all about, thumb through the Proceedings You'll 
come away wiser for it. 

CCM is a very elementary introduction to Data Processing 
for Management type people who have little or no prior training 
in DP. The manual might loosely be termed cartoons. 



118 



CREATIVE COMPUTING 



pevi ews . . 



accompanied by the professionally scripted and produced 
cassettes that don't shove facts at you more quickly than they 
can be digested. This course is aimed at management above the 
DPM level to give them some idea as to what goes on in the DP 
department, hopefully encouraging them to ask questions now 
that they have some idea how. This is a real need in some 
businesses and institutions. The busy executive can go through 
this course in an evening of two or three hours and then pass it 
on to someone else in the company. I feel that this one is a little 
over-priced. 

DUOS is not simply a course, but a complete system. What is 
being presented here is both a development system (DUOS)and 
a general course on how to use any development svstem. The 
cassettes provide a structured presentation of the svstem. 
interspersed with nineteen question and answer breaks. A 
sample system (a pension plan) is taken from beginning to end. 
showing the proper use of DUOS. PI OS is a set of procedures 
and forms that make up a flexible development svstem. This is 
aimed at Data Processing Managers and System Analysts. Since 
an entire methodology and even reproducible forms to get you 
started are included here. I feel that this price is reasonable. 

SISTM. the Society for the Interdisciplinary Studv of The 
Mind, has published Vol. I No. I of their journal, the SISTM 
Quarterly. Articles include "Research at Yale in Natural 
Language Processing." "Consciousness as a Workspace." and 
"The Problem of Context in Neuropsychology." Information 
and membership ($10) is available from Dr. Martin Ringle. 
Editor. Box 693. Phillipsport. NY 12769. 



REAL TIME CLOCK 
FOR S-100 BUS 

1 MHZ CRYSTAL OSCILLATOR 

TWO INDEPENDENT INTERRUPTS 

ONE INTERRUPT USES 16 BIT COUNTER 

IN 10 USEC STEPS 

OTHER INTERRUPT IS IN DECADE 

STEPS FROM 100 USEC TO 10 SEC 

BOTH SOFTWARE PROGRAMMABLE 

* BOARD CAN BE SELECTED BY 128 DEVICE CODE PAIRS 

* COMPLETE DOCUMENTATION INCLUDES SOFTWARE 
TO DISPLAY TIME OF DAY 

* DOUBLE SIDED SOLDER MASK 

* SILK SCREEN PARTS LAYOUT 

$30. BARE $199. KIT 

$229. ASSEMBLED AND TESTED 



* 
* 
* 

* 
* 



DEALER INQUIRIES INVITED 

Yrmc inc 



UNIVERSITY DISCOUNTS AVAILABLE 



3107 LANEVIEW DRIVE SAN JOSE CA 95132 



Travels in Computerland. or Incompatibilities and Interfaces. 
Ben Ross Schneider. Jr.. Addison-Wesley Publishing Co.. 
Reading. Mass. 244 pp. softbound. 1974. 

Ben Schneider is an English professor who had a vision. As a 
theater historian, he felt it would be useful if the huge reference 
work The London Stage, 1660-1X00 could be contained in a 
computerized data base, to assist scholars in their research. Not 
knowing much of what would be involved, he jumped at the 
opportunity to direct a project to achieve his goal. 

Travels in C 'onwitlerland is an entertaining saga of his 
misadventures; the subtitle. Incompatibilities and Interfaces. 
effectively summarizes Dr. Schneider's quest. The 8.0<M) pages of 
text were edited by graduate students scattered around the U.S.. 
keyed by typists in Hong Kong, optically scanned and converted 
to computer tape in London, and finally processed by the 
computer at Lawrence University in Wisconsin, which was to be 
the home of the London Stage Information Bank. In the course 
of all this. Dr. Schneider learned of the complexities of 
managing a data-processing project, of dealing with computer 
companies which were unsure of just what their machines could 
do. of coping with customs agents in London and at home, and 
ol the problems of raising funds for humanities research. That 
the Information Bank became a reality at all is probably due to 
his naivete in all these areas, lor had he known what was lacing 
him. he may well have considered his task impossible from the 
start. 

As an outsider to "Computerland." Dr. Schneider is able to 
present simple, clear explanations ol the mechanics of 
information retrieval, along with some of the theory of 
cybernetics. And finally, he provides a compelling demonstra- 
tion of the valuable role which can be played by computers in 
the humanities. 

Thomas A. Ciutnick 
Arlington. VA 




PERSONAL 
COMPUTERS 



For the Home 
For Fun 
For Business 



Discover the excitement ol personal computers. Come in 
and see how you can use these low cost computers at 
home, (or lun, or in your business. We stock all major lines 
of personal computers. 

THE CDIYIPUTER IYIART 

633 West Katella Orange (714) 633-1222 

(Between Newport and Santa Ana Fwys.) 

Hours: Mon. -Fri. 10:00-8:00 Sat 10:00-5:30 

100% financing and leasing available 

At The Computer Mart. We Do More Than Just Sell Computers 



JAN/FEB 1978 



119 



ws . . . reviews . . . pe vi 



Computer Dictionary. Donald D. Spencer. Camelot Publishing 
Company, Ormond Beach. Florida. 160 pp. $9.95(55.95 paper). 
1977. 

On the thought thai "a rose is a rose is a rose" might translate 
into the realm of ADP as "a word is a word is a word." I began 
my review of this volume by looking up "word." 1 was informed 
tersely and clearly (but not necessarily precisely or unam- 
biguously) that a word is "a group of bits, characters, or bytes 
considered as an entitv and capable of being stored in one 
storage location See KEYBOARD." Cross-references? Good 
idea. But the definition oi keyboard doesn't have anything to do 
with or even reference "word." Sloppy, but not fatal. 

I decided to let mysell be led about by the cross-references and 
looked up "microcomputer." I was led through "home 
computer." "personal computer." "computer kit." and 
"microprocessor." all of w hose definitions taken together give a 
good feel lor what the subject is all about. Hone is curious about 
the acronyms used in the definitions, they are all available in the 
dictionary itself. Asa matter of fact, this book can be very useful 
to its intended audience in sorting out the alphabet soup that 
tends to creep even into articles written "lor the layperson.'' 
Included arc such acronyms as ASCII. ASR. KSR. MOS, LSI. 
and even GIGO. Look up ROM or I'ROM and you see the real 
words all laid out. Vou also find a closed loop poor debugging 
techniques. I presume when I'ROM says "See I'ROM" as its 
cross-reference. 

Some definitions are indeed definitions, but are wrong. The 
II. MAC IV is no longer in Illinois, but several years ago was 
moved to the Ames Research Labs in California. IBM is not the 
only manufacturer ol a 96-column punch card. I hese are simply 
instances ot information being overtaken by events. Not so wit It 
the definition of multiprocessing which is too much directed at 
the program rather than at the hardware technique involved. It 
should *&) that multiprocessing is the simultaneous execution of 
two or more sequences of instructions by multiple central pro- 



cessing units under common control And. lor the record, the 
real definition of "kludge" is "an ill-assorted collection ol poorly 
matching parts, loosely lit together to lorni a distressing whole " 
But its inclusion is indicative ol Mr Spencer's sense ol humor 
w here else could vou find "gulp" defined? ( It's a small group ol 
bvtes.) 

' Mr. Spencer's book is described as an authoritative reference 
book designed to assist students, technical readers, and non- 
specialists whose work is to some extent affected by the 
computer. It is a good volume, but not necessarily an exhaustive 
or precise one. It can serve as a useful reference for the outright 
novice and as a memory jogger, but bv no means the ultimate or 
complete authority, for the technically-oriented. A library could 
do much worse than to have it on the shell. But. hopefully some 
future revision will make the next edition even better. 

Deanna l Dragunas 
Wetumpka. Al. 

Computer Programming Handbook. Peter R Stark. IAB 
Books. Blue Ridge Summit. PA 17214. 506 pp. S8.95. 1975. 

I his is a great book . . . for the right person. Essentially.il is an 
introduction to programming, first in machine language, then in 
assembly language and finally in a higher-level language 
(Fortran). But it also contains a significant section on 
programming techniques that, although most of the examples 
are worked out in assembly language, covers a broad variety of 
topics beyond what one would ordinarily encounter in an 
introduction to programming and covers them very well. And 
it contains short sections on the history of computers, 
computer applications, computer organization and flowchar- 
ting as well There's a lot of stuff here, and bv and large it's very 
well done. 

I found this book very well written and easy to follow but that 
can be misleading. I think I knew most of the things that Stark 
discusses before I read his discussion. Still, he has a good knack 
for writing clearly and I don't think that I am wrong in saving 
that his explanations would work well, even tor people tor 
whom what he is explaining is new. II you have a modicum of 
mathematical ability (you didn't Hunk highschool algebra) you 
should find this book fairly easv to follow. You will have to 



MACC COMPUTERFEST '78 



Exhibits 

♦manufacturers 
►clubs & stores 

MOVIES 

Games 
Flea Market 

For Information 
P.O. Box 9578 
North End Station 
Detroit, Mich. 48201 








Presentations 
computers in 
►the home 

►SCHOOL 
►ART & MUSIC 
►YOUR FUTURE 
► SOCIAL IMPACT 

DETROIT PLAZA HOTEL 
JUNE 23-25, 1978 



SPONSOR 



UOMPUTER Ul 



ASTERN IflKHIGAN V OMPUTER ORGANIZATION 



Thr B.-si o| 



creative 
computing 

Volumr 1 I dilrd bv David H AM 




The diversity in The Best ol 
Creative Computing — Vol- 
ume 1 can only be described 
as staggering The book 
contains 328 pages of articles 
and fiction about computers, 
games that you can play with 
computers and calculators, 
hilarious cartoons. vivid 
graphics and comprehensive 
book reviews 

Authors range from Isaac 
Asimov to Sen John Tunney 
of California, from Marian 
Goldeen. an eighth-grader in 
Palo Alto to Erik McWilliams 
of the National Science 
Foundation; and from Dr 
Sema Marks of CUNY to 
Peter Payack. a small press 
poet. In all. over 170 authors are represented in over 200 
individual articles, learning activities, games, reviews and stories 

This 328-page book has 108 pages of articles on computers in 
education. CAI. programming, and the computer impact on 
society; 10 pages of fiction and poetry including a fascinating 
story by Isaac Asimov about all the computers on earth linking up 
after a nuclear war to support the few remaining survivors; 15 
pages of "Foolishness" including a cute cartoon piece - 
called'Why We're Losing Our War Against Computers"; 26 pages 
on "People. Places, and Things" including the popular feature 
"The Compleat Computer Catalogue" which gives capsule 
reviews and lists sources for all kinds of computer-related 
goodies; 79 pages of learning activities, problems and puzzles; 29 
pages continuing 18 computer games including a fantastic 
extended version of the single most popular computer game — 
Super Star Trek; and 32 pages of in-depth book and game reviews 
including Steve Gray's definitive review of 34 books on the Basic 
language 

The Best of Creative Computing ■ Volume 1 is available by mail 
for $8.95 plus 75C postage from Creative Computing Press. Attn: 
Alyce P.O. Box 789-M. Morristown. N J 07960 



TH6 8JST OF 

creative 
computing 



This fascinating 336-page book contains the best of the 
articles, fiction, foolishness, puzzles, programs, games, and 
reviews from Volume 2 issues of Creative Computing magazine 
The contents are enormously diverse with something for 
everyone. Fifteen naw computer games are described with 
complete listings and sample runs for each; 67 pages are devoted 
to puzzles, problems, programs, and things to actually do 
Frederik Pohl drops in for a visit along with 10 other super 
storytellers. And much more! The staggering diversity of the book 
can really only be grasped by examining the contents, or better 
yet. the book itself 

Price is $8 95 plus $0 75 shipping and handling in the USA 
($9 70 total); outside USA. add $1 00 ($10 70 total) Individual 
orders must be prepaid. Creative Computing Press. Attn Alyce 
P.O. Box 789-M. Morristown. NJ 07960 



think, of course, but there are lots of worked-out examples to 
help you and Stark tells us that they have been checked out on a 
computer so they shouldn't be misleading. His explanations of 
algorithms arc unusually clear. I particularly liked his brief 
history of the computer, his explanation of what a subroutine is, 
what a function is and a number of nice little points like the clear 
way he explains Newton's algorithm for finding square roots. 
The machine and assembly languages are simplified versions 
and the higher-level language is Fortran. The index is good. 

The book has fairly broad scope and it is probably best for 
somebody who knows a bit about programming and wants to 
read clear explanations of things that he or she has not yet 
learned. I suspect it's not really a good first book on computers 
although it might be that for the right (smart) reader. It'sa good 
second book though. 

Peter Kugel 
Chestnut Hill, MA 



Eight Statement PL) C (PL/ ZERO) plus PL/ ONE. Michael 
Kennedy and Martin B. Solomon. Prentice-Hall. 512 pp., 
paperback. $10.50. 1972. 

Eight Statement PL/C is designed to teach a beginner the 
fundamentals of programming in PL/ 1. True to its title, the 
book teaches an eight-statement subset which is enough to get 
any beginner off to a flying start in the language. The 
PROCEDURE, END, DECLARE... FLOAT, GET LIST, 
PUT SKIP LIST, IF ... THEN, arithmetic assignment, and 
GOTO statements are covered very thoroughly in a 100-page 
section. The second section introduces a wider subset of PL/ 1; it 
includes fixed binary and character type declarations. DO 
looping, input/ output editing, and internal procedures. Part 
three contains short chapters on selected PL/ 1 topics such as 
data-directed input/output, conditions (e.g. ENDFILE, 
ZERODIV1DE, etc.), debugging aids, complex numbers. 
PICTURES, record I/O, list processing, and the more advanced 
storage allocation techniques for static, controlled, and based 
variables. 

JAN/FEB 1978 121 



By now, perhaps you may tell that the book advances far 
beyond the basic "eight-statement" language. Nevertheless, it Is 
a book for beginners. There are appendices on the punched card, 
simple keypunch operating instructions (excellent for the 
beginner), algorithms and flowcharting, computer system 
basics, numerical inacuracics (floating point error), a snort 
history of who made which computer when, and a summary of 
the idiosyncracies of each of the IBM PL I compilers as well as 
Cornell's PL/C. There is a variety of laboratory problems 
providedand each is cross-referenced by the sections of the book 
that should be covered prior to attempting it. 

Eight Statement PL/C is full of good illustrative examples 
and has been constructed so that immediately alter a concept 
has been introduced, an example appears. Then the authors 
present a complete explanation of the feature (with appropriate 
references to the sample, of course). Not only does this 
technique stimulate asking questions about examples before 
being given "the answer"(which study experts claim is a good 
way to absorb something technical), but it grabs and holds the 
reader's interest much better than would a series of explanatory 
paragraphs followed by a few examples. 

The only fault that could be found with the book is that while 
the examples are well structured and clear, the authors do not 
explicitly encourage what is today called "structured"program- 
ming. For this reason, in 1 977 they published Structured 
PL) ZERO plus PL/ONE (Prentice-Hall. SI 1. 50) in order to 
satisfy this need. The second book differs enough from the first 
that the earlier one is still in print. Structured PL/ ZERO 
contains a slightly different set of eight basic statements to help 
the beginner with structure and it includes some philosophical 
comments on the manner of programming clearly scattered 
through the book. I personally prefer the earlier book for its 
practical approach to the programming basics, but either could 
be used in a first course in computer programming using PI I u 
the teaching language. Both for self-study and in the classroom, 
each book is excellent and worth every cent of its price. 

Brian N. Hess 
Western Springs. IL 



^m 



^m 








Hit the deck in shorts and 
a tee shirt. Or your bikini if 
you want. 

You're on a leisurely cruise 
to remote islands. With names 
like Martinique, Grenada, 
Guadeloupe. Those are the 
ones you've heard of. 

A big, beautiful sailing vessel 
glides from one breathtaking 
Caribbean jewel to another. 
And you're aboard, having 
the time of your life with an 
intimate group of lively, fun- 
loving people. Singles and 
couples, too. There's good food, 
^^^ "grog!" ar| d a f ew pleasant 
comforts... but there's little 

H resemblance to a stay at a 

fancy hotel, and you'll be 
happy about that. 
Spend six days exploring 
paradise and getting to know 
congenial people. There's no 
other vacation like it. 
Your share from $265. A new cruise is forming now. 
Write Cap'n Mike for your free adventure 
booklet in full color. 



122 



*•"• 


^ 


Windjammer Cruises. 


1 «0**M 


C4v 




Mi 


i* 


fUM 


P.O 


Box 1 20 


Dept 581 


Miami Beach. Florida 33139 



From: Kemeny, John G. Man 
And The Computer. New York: 
Charles Scribner's Sons, 1972. 
pages 80-81. 

"I consider it imperative for 
the benefit of mankind that 
during the next decade com- 
puters become freely available at 
all colleges and universities in 
the United States and that most 
students before graduating ac- 
quire a good understanding of 
their use. Only if we manage to 
bring up a computer-educated 
generation will society have 
modern computers fully avail- 
able to solve its serious prob- 
lems. While computers alone can- 
not solve the problems of society, 
these problems are too complex 
to be solved without highly 
sophisticated use of computers. I 
see three major bottlenecks that 
must be removed if this goal is to 
be achieved. 

"First, most university com- 



putation centers are still 
research-oriented. They are typi- 
cally operated in a batch-proces- 
sing mode with priorities given 
to a very small number of users 
who need a great deal of time. 
The philosophy of university 
computation centers must be 
changed. 

"Second, college administra- 
tions do not yet appreciate the 
immense favorable impact that a 
good educational computation 
center can have on their insti- 
tution. I would like to propose 
that by 1980 no college or uni- 
versity should be given full 
accreditation unless computer 
services are freely available to all 
students. Use of the compu- 
tation center must be considered 
the exact analogue of use of the 
library. 

"Finally, the implementation 
of this program for millions of 
students will take a great deal of 
money. . ." 



"HANDS-ON" 
AND FAST TURNAROUND 

-A MUST FOR 
A SUCCESSFUL PROGRAM 

by THOMAS J. CASHMAN and GARY B. SHELLY 



INTRODUCTION 

A continuing controversy in schools 
teaching computer programming concerns 
the need for "hands-on" experience in the 
data processing curriculum. Is "hands-on" 
experience necessary in teaching data 
processing and computer programming? 
What about turnaround time? In many 
schools, the students are not allowed to 
have any contact with the computer. In 
addition, students may receive only one or 
two "runs" a day for programs written for 
class assignments. The authors feel 



Reprinted »nh permission from Tht Com p lin, a news- 
letter tor business data processing educators Copyright 
1975 by Anaheim Publishing Co.. 1120 East Ash, 
Kullerlon. CA 92631. 



strongly that students must have actual 
experience on the computer and that the 
turnaround time for student assignments 
must be as fast as the computer center can 
process, not what might be expected in 
industry. 

LOSS OF COMPUTER 

The scenario at many schools runs 
something like this: In the beginning, 
instructors have gone to the administration 
requesting a computer for instructional 
purposes, pointing out the vocational 
opportunities in data processing. The 
administration has enthusiastically agreed 
with them and authorized the leasing or 
purchase of hardware, on the grounds that 
the school should have a strong instruc- 




>lf>AI /_ \ \ > 

o / c^ \ \ -i 




Speech synthesis is a reality. It's 
not perfect yet. It often requires a 
moment's listening to catch the 
machine's accent. But talking com- 
puters do now exist, and one of 
them could be yours. 

The Model 1000 Speech Syn- 
thesizer is the finest speech syn- 
thesizer built in its price class. No 
comparable unit exists. Nor is there 
one as easy to program. The Model 
1000 was made to act like a parallel 
TTY device - only it speaks the 
characters rather than types them. 
And it requires no larger a driver 
program to support it than a TTY 
would. It's all on one board and it's 
S-100 compatible. 

Write today for more information. 
We've sold a couple of hundred of 
the units in the last few months, so 
we know you'll be pleased, A 
programming manual is available for 
$4.00 (with interfacing information); 
a demonstration tape costs $5.00. 
When ordered together, the com- 
bination is only $7.50. And it's 
refunded upon purchase of a Model 
1000. The Model 1000 itself is only 
$380.00. 




cybernetic 
systems 



P.O. Box 4691 (505)526-6842 

University Park. New Mexico 88003 



JAN/FEB 1978 



123 



Demo Record 
(stereo LP) $2 
includes 4th class 
postage in USA. For 
1st class, add $2. 

Synthesis Board: 
Waveform: dual RAM 

sync switch-over, 

64 elements each 

with 256 levels. 

Programmable filter 

smooths "steps". 
Envelope: rise: 256 

levels, 4ms to 1.3s. 

fall: 256 levels. 3ms 

to 7.8s. sustain: 

256 levels. 
Volume: 256 levels. 
Pitch: 96, piano range 

& 8 higher' Price: $220 (kit) 



MUSIC. 

r,l«»i;-4«u& 

■ •I I III 1*M' 
f f llll -M 



Produce music 
with your micro 
for $159 or less. 

Quad chromatic pitch 
generators are S-100 
boards (parallel ver- 
sion available) which 
produce 1 to 4 tones 
at once, each tone 
any of 96 pitches* 
Square wave output 
plugs into your amp. 
1,2, and 3 tone units 
($111.$127.&$143kit) 
are expandable to 4 
tone unit ($159 kit. 
$185 assembled). All 
units expandable to 
include synthesizer 
features. 



* If 2MHz clock is unavailable (on pin 49 for S-100 units), ask about our crystal option, $16. 

COMPUTER-CONTROLLED MUSIC SYNTHESIZER SYSTEMS. 

Our Synthesis Boards (specs and price given above left) are professional synthesizers 
for serious musical applications such as studio recording, live performances, and 
educational use. An S-100 controller (parallel version available soon) runs 1 to 8 
synthesis boards; the price is $88 to $180 depending on cables required. Write for 
information on these products, and a complete description of our synthesis methods 
and how they compare with others'. Dea|er inquir i es invit ed. 

ALF PRODUCTS INC. 8080 software available at cost . 

l 2 r£, l ?,-9, U !. , i T «^T,o Both products featured on LP. 

DENVER. CO 80228 




tional program in data processing. When 
the computer arrives and the data 
processing program begins, students have 
(he opportunity to operate the computer, 
experiment with the computer, and 
generally learn and have fun in their data 
processing classes. As a result, student 
enthusiasm runs high. 

With the passing of time, however, an 
"administrator" realizes that none of the 
grading, scheduling, payroll, or other 
applications which could be on the 
computer are being processed. Therefore, 
he convinces the powers-to-be that the 
administration should take over the data 
center and process administration appli- 
cations. Control of the data center then 
falls into the hands of the administration, 
who will determine when programs for 
students will be processed. 

A data processing manager is hired. 
Students can't be allowed in the data 
center; it is reasoned that "all those 
students milling around is no way to run a 
'shop'." 

As more and more processing for the 
administration is placed on the computer, 
the instructional program becomes less 
and less important. Student programs are 
run once or twice a day instead of the six or 
seven times a day as previously. Instead of 
receiving a class assignment back in 15 
minutes, the student must wait four or five 



hours. When complaints are raised by the 
instructional staff they are told "You're 
lucky to get 4- or 5-hour turnaround 
time — in industry 24-hour turnaround time 
is common." The instructors reply "This is 
not industry, this is an educational/ 
academic environment in which the 
important objectives are to motivate, to 
stimulate, and to develop a spirit of inquiry 
and research." Such statements commonly 
fall in deaf cars. "That's not the way it's 
done in industry" is the continued reply. 

Student enthusiasm for data processing 
wanes, students arc learning less because 
of no access to the machine, enrollment 
goes down because of a lack of student 
interest, the administration points out that 
the only justification for the computer is 
now administration processing because of 
low student enrollment, and, as a result, 
the initial justification for the computer, 
that is, the instruction in data processing, 
takes a back seat to every other type of 
processing on the computer. 

If this scenario sounds familiar, do not 
despair. Hundreds of schools in the United 
States and Canada arc facing the same 
problem. The surest way to weaken and 
destroy a viable data processing educa- 
tional program is to take control of the 
computing facilities away from the instruc- 
tional staff and place it in the hands of 
"professional" data processing managers 



whose job depends upon the processing of 
administrative applications. 

ARGUMENT OF 

DATA PROCESSING MANAGERS 

As previously pointed out, the argument 
of these "professional" data processing 
managers runs along two lines. First, they 
argue that programmers in industry do not 
have access to the computer and they get 
along fine. Secondly, they point out that in 
industry, many programmers only get one 
test run per day. They conclude thai this 
should work for students also. 

The flaw in both these arguments is the 
fact that students in a data processing 
instructional program are not program- 
mers in industry. An extremely important 
element in any successful educational 
program is the student MOTIVATION and 
enthusiasm for learning. Although it may 
be difficult to quantify, it has been the 
authors' experience that enthusiasm for 
learning is almost directly related to access 
to a computer when teaching data 
processing. The more the student is 
exposed to the computer and the better 
access he has to it. the more he will learn 
and the more he will want to learn. 

It has been observed numerous times 
(ha( when students operate in a "hands- 
on" environment, for many their learning 
far exceeds that which is expected in the 
class, their knowledge gained quickly 
exceeds that of their instructor, and many 
students become software system experts! 
What a great compliment to the computer 
as a motivating device for learning. What a 
shame to prevent these learning experi- 
ences from occurring! The authors have yet 
to contact or observe a school that operated 
on a closed-shop basis that produced 
operating system experts — experts in 
DOS. OS, etc. 

It seems ironic that instructors with 
many years of experience in the classroom 
successfully teaching data processing and 
computer programming are told by ad- 
ministrators or data processing managers 
(who, by the way, have never taught a class 
in computer programming) that "hands- 
on" experience is not necessary! 

As noted by Malcolm G. Lane from West 
Virginia University. "Experience has 
shown that the 'hands-on' approach is an 
excellent way for students to learn 
meaningfully the operating system prin- 
ciples being studied in the course and to 
observe the effects of well- and poorly- 
designed systems. One reason is that 
computer science students gain an enthu- 
siasm in the course when the 'hands-on' 
approach is used; this enthusiasm is more 
difficult to provoke when other methods 
are used." ' 



124 



CREATIVE COMPUTING 



MUST 

EXPERIENCE COMPUTER ACTIVITY 

In addition, it is extremely difficult to 
teach programming without students ex- 
periencing the satisfaction, and even thrill, 
of seeing their program work. Teaching 
programming without access to the 
machine is like teaching chemistry without 
access to a chemistry lab or teaching 

literature without reading the book. 
Certainly an instructor in chemistry can 
describe what happens when a match is 
held to a test tube of oxygen, but when the 
student does this and sees the combustion, 
it is something which he will not soon 
forget. An English teacher can talk about 
the Odyssey and describe the travels of 
Odysseus, but without reading the book 
the student never experiences the learning 
process. 



"Teaching programming without 
access to the machine is like 
teaching chemistry without access 
to a chemistry lab or teaching 
literature without reading the 
book." 



The same is true of computer program- 
ming. Without experiencing the lights 
flashing, the cards being read, and the 
program and output being printed, the 
student misses a critical part of the 
learning process. In addition, with access 
to the computer, the student can experi- 
ment with features of the hardware and 
operating system which would not be 
possible without access to the machine. 

EDUCATORS RECOGNIZE THE NEED 

At Scott Community College in 
Bettendorf. Iowa, a "continuous effort is 
made to provide the type of training 
needed by students and required by 
business." As a large part of their quality 
program, "students have almost unlimited 
hands-on time in a realistic multipro- 
gramming environment." ^ They have 



recognized the undeniable requirement of 
hands-on experience for programming 
students when learning computer pro- 
gramming. 

Undeniably, this is a difficult argument 
to present to an administration which has 
its "professional" data processing 
manager stressing to it that this is not the 
way things are done in industry. However, 
it appears that a number of schools at this 
time are allowing hands-on experience for 
their students. Professor Marjorie M. 
Leeson, Delta College, University Center, 
Michigan, conducted a survey of 72 
community colleges and found that 54 of 
these schools allow some type of hands-on 
for their programming students.-' Al- 
though this is encouraging, the authors 
have found that the trend is away from 
hands-on as more applications of an 
administrative nature are put on the 
computer. 

Thus, it is very important that admini- 
strators be made aware of the importance 



1 Lane. Malcolm G.. Department of 

Statistics and Computer Science. West 
Virginia University, Morgantown, West 
Virginia. "A Hands-On Approach to 
Teaching Systems Programming." 
SIGCSE Bulletin. February 1975. Vol- 
ume 7. Number I. 

2 Stone, L.E.. Director - Data Processing, 

Scott Community College. Bettendorf, 
Iowa. "DP Training— Meeting the Real 
Needs of Business." 

JAN FEB 1978 



3 Leeson. Marjorie M.. Delta College. 
University Center, Michigan. Summary 
of Results, Data Processing Question- 



of hands-on experience for the program- 
ming students. Perhaps an effective 
method to illustrate the point is to invite 
administrators to a Saturday class in which 
they will be taught enough of a language to 
write two programs. On the first program, 
they are allowed to enter the computer 
room, run the machine, see their program 
being produced on the computer, and get 
immediate turnaround. On the second 
program, they must wait two hours for 
their first run and two more hours for their 
second run. In addition to probably not 
completing the assignment, these admini- 
strators, as are the students, will be very 
frustrated. 



CONCLUSION 

If your school has not yet reached the 
point where the computing facilities have 
been taken out of the instructional 
program's hands, fight to not let this 
happen. Where it has happened, you owe a 
duty to yourself and your students to 
vigorously fight to regain access to the 
machine which is so vital to a successful 
data processing program. ■ 



HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS 



Write and run machine language programs at home, display video graphics 
on your TV set and design microprocessor circuits — the very first night 
— even if you've never used a computer before! 
specifications RCA COSMAC microprocessor/mini- 
computer 



ELF II features an RCA 
COSMAC COS MOS 8-bit 
microprocessor address- 
able to 64k bytes with 
DMA. interrupt, 16 regis- 
ters, ALU. 256 byte RAM. 
full hex keyboard, two 
digit hex output display. 
5 slot plug-in expansion 
bus. stable crystal clock 
for timing purposes and a 
double-sided plated- 
through PC board plus 
RCA 1861 video IC to dis- 
play any segment of mem- 
ory on a video monitor or 
TV screen. 




A THOUGHTFUL GIFT 

FOR ANYONE WHO MUST 

STAY UP TO DJ 

COMPUTERS AND 

ELECTRONICS' 



:II 



SQQ95 



99 



ELF 

___ — __—. SEND TODAY* 
NETRON1CS R&D LTD., Dcpt. CC 11 
333 Litchfield Road, New Milford. CT 06776 Phone (203) 354-9375 



USE ELF II FOR... 
GAMES 

Play interactive keyboard oames. 
games with analog inputs, games 
utilizing your TV set for a video 
display! 
GRAPHICS 

Create pictures, designs, alpha- 
numerics and fabulous animated 
effects on your TV screen for 
hour after hour of family fun! 
CIRCUIT DESIGN 
Design circuits using a micro- 
processor. Use ELF II as a 
counter, alarm system, lock. 
controller, thermostat, timer. 
telephone dialer, etc. The pos- 
sibilities are infinite! 
Coming Soon! 
Exclusive Netronics Plug-In 
Program Debugger and monitor 
allows visual display of any 
program on a clock pulse by 
clock pulse basis to help you 
learn programming f-a-s-t! • 4k 
memory • Cassette I/O • D to 
A, A to D • Controller plug-Ins 



Yes! / want to run programs at 
home and have enclosed: 
Q $99.95 plus $3 p&h for RCA 
COSMAC UK II kit. Featured 
In POPULAR ELECTRONICS. 
Includes all components plus 
everything you need to write 
and run machine language pro- 
grams plus the new Pixie chip 
that lets you display video 
graphics on your TV screen. De- 
signed to give engineers practice 
in computer programming and 
microprocessor circuit design. 
ELF II is also perfect for college 
and co He lie -bound students (who 
must understand computers for 
any engineering, scientific or 
husiness career). Easy instruc- 
tions get you started right away, 
even if you've never used a com- 
puter before! 

As your need for computing 
power grows, five card expan- 
sion bus (less connectors) allows 
memory expansion, program de- 
bugger monitor, cassette I (>. A 
hi 1) and F> to A converters. 



controllers, etc. (soon to be . 
available as kits). Manual in- I 
eludes instructions for assembly, _ 
testing, programming, video I 
graphics and games />lu\ how ■ 
you can get ELF II User's Club | 
bulletins. Kit can be assembled 
in a single evening and you'll 
still have time to run programs, 
including games, video graphics. 
controllers, etc.. before going to 
bed! D $4.95 for 1.3 amp 6.3 
VAC power supply, required for 
ELF II kit. D $3.0t for RCA 
1802 User's Manual. 
Q I want mine wired and tested 
with the power transformer and 
RCA 1802 User's Manual for 
$149.95 plus $3 p&h. 
Conn. res. add sales tax. 

NAME 



ADDRESS 

CITY 

STATE Z 

D Send info on other kits' 
Dealer Inquiries I nvHed 



125 






ADM-3A 



IN KIT $ 
FORM 



00* Plus Shipping 
and Handling 




•80 CHARACTERS/LINE 

• 24 LINES/SCREEN 

• ADDRESSABLE CURSUR 
•9, 10, or 11 BIT WORDS 

• 75-19,200 BAUD 

• FULL & HALF DUPLEX 

• ODD/EVEN/NO PARITY 

• RS232 INTERFACE OR 
20 ma CURRENT LOOP 



m 



err cOMPint «i«s with « outer cau_ 

214 258 2«M TWX 910860 5761 TH£X 75-0022 
800 527 3248 



capital 



930 N. BELTLINE • 



equipment brokers 
IBVING. TEXAS 75061 



Computer tr/art 
V \ew work 

New York City & Long Island 



IMSAI, SWTPCo, Digital Group 

Processor Tech, Apple, OSI 

TDL-Z-80, Seals, Cromemco, 

Veras, Tarbell, Oliver 

Magazines, books, chips, 
sockets, connectors, terminals. 

IT'S ALL HERE WAITING FOR YOU 
FRIENDLY ADVICE TOO 

New York City 
116 Madison Ave. 
(Enter on 30th St.) 
New York 10016 
212-686-7923 
(Tues thru Sat ) 



The square 



It's 1.99999. Those of us who have 
used either computers or desk cal- 
culators for a long time are familiar 
with the problem. Most of the time 
everything seems to come out with 
good answers, but once in a while 
something obvious just isn't right. 

Oh where has my integer gone? 

There are three sources of error 
inherent in the computing process 
which can cause these problems. 
The first is word size. No machine 
made is capable of representing all 
the digits in an irrational fraction. 
It is possible to do exact computa- 
tions by carrying numerator and 
denominator separately and never 
dividing, but this is a trick used 
by mathematicians and numerical 
analysts and rarely finds its way 
into everyday computing. 

The second source of error is that 
all mathematical routines used to 
find functions such as square roots 
are approximations. To build a 
program which calculates the most 
accurate value of the function that 
can be represented in the machine 
(in error by at most one least sig- 
nificant bit) would require more 
computer time and storage space 
than the result is worth. 

There is a continuous tradeoff 
among speed, accuracy and size. 
Each designer has mixed these in 
his own proportions, and his choice 
may not coincide with yours. That 



last single bit error, though, is a 
result of having a finite word size, 
and cannot be improxed. This 
means that the square root of 4 
may come out 1.99999. Although 
this may insult some users who feel 
that "the computer ought to be able 
to get it right" and who know that 
the square root of 4 is 2, it is an 
inevitable consequence of working 
with real computers. 

Trying to make matters better 
would almost certainly make them 
worse. It is possible to design a 
function program that would give 
the "right" answer for some value 
(e. g., square root of 4 is 2.00000). 
This would most likely cause the 
margin of error for all other values 
to be greater. 

Round off, one-two 

It is also possible to build in an 
automatic round-off to a function. 
A small amount could be added to 
the answer after it was caculated, 
and a round-off attempted. This 
would give 2 as the square root 
of 4, even though 1 .99999 was com- 
puted. As with the previous pro- 
cedure, however, you would make 
matters worse more often than you 
would fix them. Let's suppose that, 
as a result of some previous calcu- 
lations, you need the square root 
of 3.99996. You don't see this 
figure since each calculation falls 







L^ON 



(k 



HELLO, 
WORBEKTv^ Hi, 

NANDCY/1 




126 



CREATIVE COMPUTING 



of 4 is not 2 



Philip Stein 



directly on the heels of the next. 
The correct answer is 1 .99999, but 
the square root program gives you 
2.00000. Just as large, just as wrong. 

A base violation 

The third source of error is con- 
version. Almost all minicomputers 
operate in binary internally. Al- 
though it is possible to exactly con- 
vert integers from decimal to binary 
and back, the same is not true of 
fractions or of numbers with both 
integer and fractional portions. In 
addition, frank errors in the conver- 
sion procedure due to coding bugs 
are always possible. Because of 
this, exact answers in binary may 
become inexact in decimal. 

This source of error is avoidable 
to some extent. When you program, 
it pays to keep intermediate results 
in binary form. In Fortran, for ex- 
ample, use unformatted reads and 
writes when using mass storage to 
save temporary data which won't 
fit in memory. This leaves the data 
in binary and avoids two passes 
through the format converter. In 
Basic, binary l /o is usually not 
possible, but you may be abic to 
organize your programs so that they 
do not use more memory than is 
available. If your Basic supports 
program overlays but allows you to 
keep data, you may be able to com- 
promise with many segments of 



code and only one data area. 
But what to do? 

Basically, you just have to get 
used to the fact that computer errors 
and round-offs are part of life. As 
we just demonstrated, attempts to 
get rid of them almost always result 
in generating more. If you are 
teaching neophytes, maybe you 
could convert the outrageous prop- 
osition that the square root oi 4 
is not necessarily 2 into a strong 
lesson in numerical analysis and the 
limitations of computing everything 
digitally. 

Another good exercise is to draw 
a graph showing the difference be- 
tween the computer value of a func- 
tion and the "correct" value (usu- 
ally obtained from a reliable table). 
This chart should show some pe- 
riodic structure in which the com- 
puted value oscillates around the 
correct value. You should be able 
to draw arror bands showing the 
maximum error in the function rou- 
tine. With this tool, you could 
demonstrate that rounding programs 
or approximations designed to give 
the best answers for certain inputs 
will almost certainly have larger er- 
ror bands for all inputs. If they 
don't, you may have discovered 
something. 

Ktpitiiu-J with pcrnmMon from Ciwtpulff DrrhltHa. Sep 
■ PM.L-hi l»7J hv Htiwkn PuMbhitif Co., Rochcllc 




y V. 




t wu. i -i &ir 



Are You 

Overworked? 

Are you still doing those things that 
your computer should be doing for 
you? We are developing those utili- 
ties and subsystems that will allow 
you to spend more time getting to 
the essence of your development. 

The latest product in 
our software line is: 

The Dynamic 
Debugger 

Our Dynamic Debugger is a revolu- 
tionary approach to debugging. Un- 
like conventional debuggers, which 
are passive instruments that must be 
tediously guided to locate errors, the 
Dynamic Debugger is an intelligent 
companion which can quickly pin- 
point problem areas. 

Call or write for detailed specs 

COMPUTER MART 
OF NEW JERSEY, INC. 

501 Route * 27 

Iselin. N.J. 08830 

(201)283-0600 

Store Hour*: Turn tflru Sat tO am-6 pm 
Tue* and Triors til 9 pm 



E3 



THE 

MICROCOMPUTER 

PEOPLE 



VIRGINIA 


HOME COMPUTER 


CENTER 


DEC 2927 Va Beach Blvd. 


Apple Va Beach. VA 23452 


Vector Graphics (804) 340-1977 


TDL 


Polymorphic 


RCA 


Processor Technology 


North Star 


Digital Systems 


Per Sc j 12588 Warwick Blvd 


Newport News. VA 23606 


(804) 595-1955 



THE DEVIL'S DUNGEON 

1s a .journey into a hottor 

by fantasnic creatures. This searcn for gold 

and adventure Is enjoyed by my enttre t 

I can send you the un packaged program listing, 

instructions, flowchart, variahles listing, and 

suggested modifications for $2. Postage Paid. 

II «a Engel, PO Box 16612. Tanna. fl 136P,7 



yyw 



•KT 



JAN/FEB 1978 



127 






• • 

o 

•o 



SYBEX 

HAS 

ANSWERS! 



BOOKS 

IN-HOUSE 

TRAINING 

SEMINARS 

CONSULTING 



■H4 








it*-* »o 






I 






microprocessors: Sz^s^ 

The basic book for understanding microprocessors and microcomputers. It presents all the 
fundamental concepts as well as the detailed application techniques. It will show you, in detail, 
how a microprocessor operates, critically review existing MPU's, explain how to interconnect the 
various chips into a system, and which alternatives are available. It is based on the author's ex- 
perience in teaching microprocessors to more than 2000 persons, as well as developing systems. 
It will take you step by step until the actual interfacing to peripherals. 400p. 

CONTENTS: 

• Fundamental Concepts • Internal Operation of an MPU • System Chips • Comparative Micro- 
processor Evaluation • Assembling a System* Applications • Interfacing "Programming • System 
Development • The Future _____________ 

ALSO AVAILABLE: ORDER FORM 

• CASSETTES (2 cassettes = 2'/S hour + special book) • 

51 - INTRODUCTION TO MICROPROCESSORS $29.95 . Name 

52 • MICROPROCESSOR PROGRAMMING $29.95 I Pos i tlon 

• MICROPROCESSOR INTERFACING TECHNIQUES, by Austin Lesea and 

Rodnay Zaks. Ret C207. From keyboard to CRT and Floppy Disk, I Company 

including Trouble-Shooting $9.95 Address 

• MD- 10-language International Microprocessor Dictionary $1.95 I 

' Amount Enclosed 

FOR INFORMATION ON I CVRCV I I (in CMmTat - " M «"> 

IN-HOUSE TRAINING: I OIDCA I ' OBankAmerlcard DMastercharge 

x x I Number Expires 

USA: SYBEX Inc, Publications Dept, 2161 Shattuck Ave, I Signature 

Berkeley, Ca 94704. Tel:(41 5) 846-8233. Telex: 336311. ' P9D1 

EUROPE: SYBEX-Europe, 313 rue Lecourbe, l Fast Shipping: add $1.00 (UPS) °^ U ' 

75015 Parts, France Tel: (1)8282502, Telex: 200858 » creative Computing 





MICROPROCESSOR INTERFACING TECHNIQUES 

Austin Lesea and Rodnay Zaks. Ref C207 - Available : Oct. 15 - $9.95 

FROM KEYBOARD TO FLOPPY DISK: 

The book takes you through the complete assembly of a microprocessor system: assembling a 
CPU; Input-output techniques; interfacing to a keyboard, LED, teletype, printer, floppy disk, CRT, 
cassette-tape; Industrial interfacing: analog-digital techniques; Communications; Busing and 
standards, including S100, IEEE488, CAMAC. A complete case-study is presented for a multi- 
channel communication system and a chapter is dedicated to trouble-shooting techniques. Actual 
interconnects are presented for a number of microprocessors, and, in particular the 8080 and 
the 6800. 



ALSO AVAILABLE: 

•CASSETTES ( 2 cassettes = 2'/i hour + special book) 

51 - INTRODUCTION TO MICROPROCESSORS $29.95 

52 - MICROPROCESSOR PROGRAMMING $29.95 

•MICROPROCESSORS: trom chips to systems, by Rodnay Zaks 

The Basic microprocessor book. Ref C201 $9.95 

•MD - 10-Language International Microprocressor Dictionary $1.95 

•SEMINAR BOOKS: each $39.95 

B1 MICROPROCESSORS B5- BIT-SLICES 

B2-MICROPROCESSOR PROGRAMMING B6- INDUSTRIAL TECHNIQUES 
B3-MILITARY TECHNIQUES B7- INTERFACING TECHNIQUES 



V. 



[SYBEXJ 



FOR INFORMATION ON 

IN-HOUSE TRAINING: 

USA: SYBEX inc, 2161 Shattuck Ave, Berkeley, 
Ca 94704. Tel:(415) 848-8233. Telex: 336311 
EUROPE: SYBEX Europe, 313 rue Lecourbe, 
75015 Paris, France Tel:(1)8282502, Telex: 200858 



ORDER FORM 

Name 

Position 

Company 

Address 



-I 



Amount Enclosed 

(in California, add lax) 

BankAmericard 
Number 



Mastercharge 
.Expires 



Signature . 



Fast Shipping: add $1.00 (UPS) 
Creative Computing 



C207 



OF THE COMPUTER 



by 
Barbara Marsh 



When I was working in industry as a programmer- 
analyst some years ago, it seemed very clear to me that the 
public should be disabused of its ignorance about 
computers. I lived in the United States then, and public 
concern with the effects of computers on society was often 
aired. There were Senate hearings on the threat posed to 
privacy (which Americans hold to be a basic right) by data 
banks. Newspaper cartoons frequently expressed some 
aspects of the unease people felt when confronted with a 
decision said to have been made by a computer. 

"Demystification" was my catchcry. No wonder people 
were scared of computers if they didn't understand how 
they worked. No wonder they were hostile when they 
knew that computers were used extensively in a war 
growing more unpopular each day. The magic phrase "Do 
not fold, spindle or multilate" appeared on the punched 
card which was the monthly telephone bill. In the days of 
the Vietnam war, protestors had seized upon the irony of 
corporate concern for the welfare of pieces of cardboard, 
and sometimes sported placards at anti-war 
demonstrations, saying "People: do not fold, spindle or 
mutilate." 

I'd thought about my own socialization as a computer 
person. Nothing had been said, in formal or on-the-job 
training, about the bad public image of the computer, yet 
somehow we computer people felt that our specialized 
knowledge made us immune to the fears that ignorance 
bred When I became involved in education, I carried with 
me the zeal for demystification. People must learn how 
computers worked, though by now I knew that we must 
also acknowledge that computers had been involved in 
some rather nasty applications, which people were quite 
entitled to fear. 

When the question of education about computers was 
raised, then, I first advocated computer awareness and a 
kind of computer literacy - courses for students, and for 
teachers, in what computers did and how they worked, 
aimed at demystifying the computer. I launched such a 
course for teachers, and hoped they would then be able to 
go out and demstify computers for their students. The level 
of understanding I thought appropriate was one of 
recognizing that most common applications of computers 
entailed isolating some real-world task, understanding the 
entities and processes involved, defining the processes as 
algorithms and then writing and testing a program to 
perform a representation of the processes on some 
numbers or other symbols that represent the entities. Most 
students I came across didn't express the need for a more 
physical understanding of how things were represented 
within the machine, so I never spent much time on 
hardware, or bina ry arithmetic or Boolean logic, for 

•Center for the Study of Innovation in Education. LaTrobe University 
Bundoora. Victoria. Australia 3083 



example. Teaching a little of high level language such as 
BASIC seemed to be a good way to get some of the 
processes across, andenabled students to write simple 
programs so that they could experience the various phases 
in setting and solving a problem using a computer as a 
tool. 

But by computer literacy I meant more, too, especially in 
Australia, where most of the teachers who were my 
students had never seen a punched card and where the 
visibility and impact of computers, both in fact and in the 
public imagination, is much lower than in the U.S.A. There 
really was an information gap to fill, for teachers ought to 
know the kinds of things computers were actually doing in 
classrooms and in various strands within educational 
research. So the course I put together covered their own 
discipline, education. To help in interpreting and doing 
empirical educational research, I tried to teach how to use 
a large statistical package intelligently, always realizing 
that without some background in statistics and some 
meaningful research problem in mind, this would have 
been a futile exercise. I taught some BASIC programming, 
where again it is clear that unless my students had at least 
one problem or class problem in mind, this tool also would 
be useless. The teachers had a chance to use some fairly 
low level computer assisted instruction, and we talked 
about some of the questions raised or answered by C.A.I., 
computer-managed instruction and such computer-aided 
augmentation of curriculum as using computer 
simulations or games. 

I have no wish to disown this course, nor is there much 
in this range of topics I'd wish to change, but I've recently 
had some new insights about what teachers can offer their 
students. Most schoolteachers, especially those who 
graduated more than five years ago, will not have had any 
direct contact with computers in their undergraduate 
education. Even today, the social and physical sciences 
and mathematics are the only disciplines of which one can 
safely say that most undergraduates do some work on a 
computer — and then the kinds of work which are done are 
fairly limited. 

By contrast, consider their students today and in the 
future. All of them watch a lot of television, from "Star 
Trek" to "The Bionic Woman". Computers have always 
been part of their world, and they are considerably less 
surprised at what computers can do than are teachers 
from an earlier generation. Also, it seems likely that in a 
few years we'll have a computer utility, along the lines of 
the telephone or even the electric power network, and also 
will find microcomputers built into many home appliances 
in a completely taken-for-granted way. Recreational uses 
such as electronic games are becoming ubiquitious, and 
the prices on units which attach to home television sets for 
computerized game-playing are dropping rapidly, as 



130 



CREATIVE COMPUTING 



■4?£*$*&s$ ^ 4- $ & & % $?^^ 

KJ> 4> $? ^^ sa & % s% £e<2e^^*$> 




&££$£ 



&u. f£L«£<jwc«\^-e- 



calculator prices have already. So teachers may not need 
to teach their students how to use computers, nor to tell 
them what computers can do — kids may arrive in school 
with this knowledge, much as they arrive knowing how to 
use the telephone or how to work a TV. set. Demystifica- 
tion might be a beginning for teachers, but their students 
can hardly be said to need itl 

What then can teachers offer their students? It is my 
belief that as adults with a good deal more experience in 
the world, they may have perspectives which can be quite 
valuable. Perhaps I could best characterize what they 
might offer as an understanding of the "rhetoric" of the 
computer, the ways computers, seen as media, are able to 
persuade us. An analogy may be useful here. While 
television and newspapers can present the news or other 
information with great immediacy, insight and depth, 
these media can also slant information by a variety of 
means, from selection of which items to report and which 
to omit, through biased reporting, to rather more subtle 
means such as editing and the use of montage. 
Analogously, the computer mediates information for us. 
Certain kinds of information are not included in computer 
analyses, and others may be disloged by the means of data 
collection employed prior to computer processing. Some 
constraints are inherent in the knowledge representation 
systems used. Certain kinds of information can be handled 
superbly well by computers, and others may be distorted 
beyond recognition. 

JAN/FEB 1978 131 



I believe people ought not emerge from schools at the 
mercy of what they see on television, what they read in the 
newspapers (if, in fact, they read), or what a computer 
analysis tells them is the case. The television may define 
what are "the issues", and computer analyses may 
provide "the answers," but we must try to provide an 
education which leaves room for students to make their 
own evaluations and decisions. They should be able to 
assess the appropriateness of the computer mediation of 
the information dealt with, and have some idea of where to 
look to find what computers leave out. I think one way to 
make this more likely to happen is to have teachers who 
are able to think about computers as persuasive media 
whose output must be evaluated. Most of the 
characteristics of computerized information systems are 
present in computer uses in education, such as empirical 
research data processing, the various kinds of computer 
assisted learning, and artificial intelligence, so a con- 
sideration of such applications could be used as one data 
base for a study of the rhetoric of the computer I intend to 
do just that in my new course for teachers, and I hope that 
they'll find ways to communicate this approach to their 
students, whether in social studies, English or even 
mathematics classes. It's time to stop imagining that 
computer literacy begins and ends with programming and 
that computer awareness means discussing data banks as 
a threat to privacy. ■ 







Ijahtzee 



The rules of the game, a com- 
puter program to play it, and a 
discussion of the probability of 
rolling a Yahtzee. 





I OF PLAYERS: yahtzee may m played by two. 
*■ oc *x» pereoni 11 can alto M played eoiiuira trying tor the 
highest possible tcora 

YAHTZEE RULES 
OBJECT OF THE GAME: Tna ootaci ol YAHTZEE it 10 obtain 
the higheti score lor one or mora games Tna playai wtlh ma higheal 
total acoia lot ail garnet (up lo * gama) anna An optional method ol 
aconng can Da mat tna playa< who anna aarnt tna difference be- 
twaan n,s acoto an) mat ol hit opponent! 

EQUIPMENT: You. YAHTZEE gam coneem of tna loilowmg 



1 SET Of 5 OICE 

1 YAHTZEE SCORE PAD 
YAHTZEE BONUS CHIPS 
Gam* Summary: in each luin a player may ran mo dice up to 3 
tenet in oidei to obtain a scoring combination Altai lolling ma dice. 
ne MUST ptaca a acora Of a reio in ona of ma bores in tna vertical 
column under tna gama ha if playing Tha gama anda altar II 
founds, whan all aconng bo«ai hava baan lifted T»a acotaa ata 
totalad and combined with bonua pointa on tha reverse sate of tna 
acoia pad to givo a playat hit anal acoia 
Saloia playing tha gama aacn playat it gman a acoia can) and 
aimat a panel ot pan (not auppnad) to keep ha own acora 

TO PLAV: 

t To determine who goat teat, aacn playat placat all kve dica in 
tha dica cup and toHa out all tha dice Tha playat tolling tha 
hignaat total slam tha gama Play than conlinuaa clockwise 
2 In aach lurn a playat it ailowao a aauaeaaa ol 3 ralla ol tha dica. 
although ha may nop altat tha hntt or aacond to*. 
A For ma iutt toll ha muti ton all 5 dica Tha lira dica ata placad 

in tha cup. tha cup it ahakan and ma dica tollad out. 
B Fee tha aacond and thin) tona tha playat may pick up ANY or 
ALL tha dica and toll again Ha paad not daclata what ha a 
Hying lo maka (what boa ho it ttying io acora in) and may 
changa hit mind at any lima 

C Tha Oica aia final altat tha mm) ran and MUST 5E SCOREO 
SCORING: 

Each playat hat hit own acoto card Ha mutt maka lua own daemon 
ol what and whara to acota baaed on hit individual strategy In aach 
gama tnata ata l] tcoting toundt A playat MUST ptaca a acora ot 
a reto attar aach luin in ona ol tha 1 3 aconng boiaa in tna vatiical 
column undar ma gama baing played 

Thara ata 13 aconng boiaa on tha acora can). Thay ata "Aces." 
"Twoa." "Thieee." "Foute." "Fivee." and "Siaea" in tha Uppat Sec- 
fion. and 3 ot a Kind." 4 of a Kind." Tu« Mouse. Small Straight " 
"Large Sliaighl," • YAHTZEE" (liva of a kind), and "Chance" in ma 
Lowar Section 

At ma and ot aach turn ma playat mutt ptaca a acora or a laro in 
ona of tha aconng boaes A acormg boi can ba uaad only onca M 
aacn gama A ptayar can place a laro at tha and of a found rathat 
than a acoto. it he believes n lo be to hia advantage Tha boaaa may 
ba buad in any otdat. according to tho prayer a boat judgment 

On tha acora can) thata la an "Uppar Saction" and a "Lowar 
Soclion" which, whan addad logothot. will giva you a grand total 
which a racordad on tovaraa aidt with bonua cn.pt (if any) tor your 
anal acoto Thara ara potaibHitiaa to aarn bonua po.ni! which count 



) tha iinai tcora if a playat attaint a acota ol 63 in ma Uppar 
Saction. ha should antai tha 36-pomt bonua in tha "Bonua" boa 
and add this to ha uppar Saction total II a playat is annttad lo a 
YAHTZEE bonua chip (at aaplainod lalat). th.t a totalad with tha 
acota on tha tavataa tut of tha acota can) 

SCORING COMBINATIONS: 

I. UPPER SECTION: 
a) In mo Uppat Saction. thata ara "Acee" [onea). "Twoa." 
"Thtaaa." "Foure." • Fivee." and "Snaa ." It a playat chooses 
to tcota in ma uppat Sacnon, he counts and adda only tha 
dica with tha arm numbat and antara tha total ol tha dica in 
tha apptopnata boa II a playat at tha and of a lurn hat thata 
dica on ma tawa and aiactt to lata ha acora in ma Uppai 
Sacnon. ha would anlar a in ma "Thraaa" boa. 

QBQQn 



b) Tha playai may anlat ma total of ANY NUMBER ot :ha tamo 
valua dica in tha apptopnata boi in tha Uppat Saction Fot 
aaampla. a playat s knal dica ata 



□ □H 



• • • • 

• • • 

• • • • 



ha may choota to acora 2 in tha ■ Acaa" boa. or < in lha • Siaea" 

c) II a ptayar a unable lo placa a acoto in oilhat tha uppar ot 
Lowar Sac nons ha MUST anlat a tato tn ma acoting boa ol 
hia chorea m ailhat taction. 

d) If a playat acoraa 63 points ot mora in tha uppat Saction. ho 
aatna a BONUS ot 36 pointa and antara tha in lha "Bonua" 
boa in tho Uppot Saction (Fot quick calculation. 63 can ba 
obtainad by aconng 3 of aach numbat Acaa through tiaee .-) 

I LOWER SECTION: 

Tha Lowar Soclion ol lha acota card a played aaaclly at 
Indicatad. 

a) "3 ol a Kind" boa may ba titiad in only il tha dica show at 
Waal thtee ol Iho tamo numbat Fot aaampla 



HDH 



wouM be tcorad 1 8 (total ol all dice) in the 3 of • Kind" box 
b) "4 of a Kind" box scores th* total ot ail dice provided may 
include tour of tha umt number For example 

□□□□a 

would ba scot-ao u (lore, ot all dica) in tha 4 of a Kind" box 
NOTE Thts could also ba scored in tha "3 ot a Kind" box as 
14 at it alto maatt tha requirements for 3 of a Kind " Tha 
piayar must dacioa which box to tcora in at only ona box can 
ba tcorad in at tha completion of a lurn. 



c) 'Full Housa" box may ba tcorad m whin trie d>ca show any 
combination ot thrae ol ona number and two ot anothar Any 
"Full Housa' it tcoiad at 2b points For aaampla. » points 
can ba tcorad m lha Full Housa box if tha markars show 



• • • • • • • 

• • • • • 

• • • • • • • 



(NOTE Thit scoring combination could alto ba tcorad in 
aithar (1) tha 3 of a Kind box n tna Lowei Saction at 19. 
(2) in it>a Threat ' box fa tha uppar Section at 9. (3) M lha 
"Fivet" box in lha uppar Section aa 10. or (4) in the Chanca 
box at 19 (Again, the player muti dec me which box to 
score in ) 
d) "Small Straight" box can be scored in if the dice show any 
sequence of tour numbers Any Small Straight ' scores X 
potntt The following are examples ot Small Straightt" 






• • 



• • 



L_tlLI±lk_J 



• Any 



a) "Largo Straight" boa can ba scored in if tha dica show any 
aaquanca ot liva numbart Any "Largo Straight" scotat 40 
poinli Tha lotlowing ata aaamplat ol "Largo Straight!" 



0QHD 
□ SDH 



a 



(NOTE Large Straight! may alto ba tcoiad as 30 in ma 
"Small Straight" boa.) 

"YAHTZEE" boa can ba tcorad il tha dica snow live ol ma 
tame numbat ( 6 ol a Kind ) A YAHTZEE" scores SO point! 



One eaampte ol a "YAHTZEE" is 

□ □□□□ 

Refer to yahtzee Bonua" and "YAHTZEE uaad as a Joker 
to tcora more than one "YAHTZEE" In a game 
g) "Chance" box tcoret the total of all rrwfcert and it tha one 
chance lo score arty combination. For example 



HO 



• • • • • 
• ••••• 



conk) be tcorad aa 22 (lha total of all merkera) In tho "Chance" 
boa if me player chooaea to acora in "Chanca**. 
h) YAHTZEE Bonua Chlpe A playai leceivet a Bonua chip 
(valued at 100 poinlt)lot hit aacond and tubtaquent YAHTZEE 
if. and onty it. me fital YAHTZEE waa scored aa 90 in tha 



132 



CREATIVE COMPUTING 



o* 40 points in the "Large Straight" boi If all the bo.es in the 
Lower Section are tilled, he must enter a rero in a box of his 
choice m the Upper Section HE MAY ALSO COLLECT A 
BONUS CHIP IF HE IS ENTITLED TO IT 

II the YAHTZEE is scored m the Upper Section it scores the 
total of the dice 'Five lours scores 20 in the Fours" boi ) The 
player, in addition, woutd collect a bonus chip tt he is entitled 
toil 

YAHTZEE boi (if he had previously scored a zero m the 
"YAHTZEE ' box. he is NOT entitled lo any bonus chips in 
that game)At me end of the game, the chips are totaled as 100 
points each and are edded to the score on the reverse side of 
the score card 

YAHTZEE used as a Joker 
A YAHTZEE may be used as a (otter in the Lower Section 
whan both of the following conditions eirsl 
1 ) The YAHTZEE boi has been previously tilled with SO or fero 
2) The appropriate boi m the Upper Section has been tilted 
For eiampta. il the YAHTZEE consists of five 4's and the 
"Fours" boi has previously been filled 

The player marks his score in any of the botes in the Lower 
Section as follows if the markers were 



he may score (he tofal of ail five markers, which in this case 
equals 20 points, in any one of the following boxes 3 of a 
Kind." "4 of a Kind." or "Chance " Or. he may score 25 points 
m the Full House" boi. 30 points m the Small Straight' box 



EXAMPLE OF PLAY II on Ihe first roH of the dice, a player has 



□ □□H 






ha might choose lo go for "Twos" in the Upper Section ol the score 
card or 3 of a Kind" (in this case. 2's) in the Lower Section of the 
score card The player would than leave the dice marked "2" on the 
table, pick up the 1. 3 and 6 dice and attempt lo loss more 2 s on his 
second roll 

tl on the second roH of the dice, he has 



□ □□E 






he might stop there and enter 6 in the Twos" box in the Upper 
Section of the score card or 17 (total ol all live dice) in the "3 ol a 
Kind' boi m the Lower Section Or he might choose to roll again in 
the hope ol getting one or even two more 2's 
II ihe player chooses to roll again, he picks up the 5 and 8 dice only 
and losees for his third and last roll If. on his third roll, he has 

□ □□HQ 

he could enter his score as in the "Twos" boi. 1 in the "Aces" 
boi or 4 in the "Fours' box in the Upper Section or 11 (total ol all 
five dice) m the "3 of a Kind" box or Chance" box in the Lower 
Section 



STRATEGY: 

If you an* not as lucky as your opponent, try to beat him wift strat- 
egy Here are a lew examples 



It at the completion of 
each turn, your dice 
show 

r 






HED 



You have the choice ot 
scoring the following bones. 
it open: 

n 9 points in "Threes' boi in 

!J Upper Section, or 19 pomts 

(total of atl dice) in 3 of a Kind" 

or Chance box »n Lower 

Section 

20 points m "Fives' boi in 
Upper Section, or 22 points 
(total ot all dice) in 3 ol • 
Kind or "4 ol a Kind" box, or 
Chance" boi in Lower Section 

19 points (total of all dice) in 
"Chance" in Lower Section, or 
4 points in Twos' box in Up- 
per Section This last choice. 
however, puts you 2 points 
below (63) lor upper Section 
bonus of 35 points To overcome this deficit, you would have to score 
either a Threes. Fours." "Fives" or "Sues" during the game to 
earn the bonus 

If. in any ol the above examples, alt appropriate boies were already 
filled, you would have lo score a zero in a blank box It would be 
best if you coukl take a zero m an open boi of the Upper Section 
without ruining your chances for making 03 lo earn the 35 point 
bonus If this cannot be done, a player would have to use his judg- 
ment m placing the zero so as to lose the minimum number ol pomts 



□ □□ 



i i 

e 
• • 



aisM— 






PI AYFRS NAME 


MINIMUM HOW GAME GAME 
REQUIRED FOR BONUS TO SCORE #1 #2 


SCORE CARD 

GAME GAME GAME GAME 

#3 #4 #5 f*3 


Aces □□□= 3 


COUNT AND 

ADD ONLY 

ACES 














twos E3E3E3 = e 


COUNT AND 

ADO ONLY 
TWOS 














Threes 000 = • 


COUNT AND 

AOOONLT 

TURKS 














Fours QiCHm* 12 


COUNT AND 

AOOONLT 

FOURS 














Fives 000= 15 


COUNT AND 

AOOONLT 

FIVES 














Sixes SSS= 18 


COUNT AND 
ADO ONLY 














TOTAL 63 
















Bonus or ov« 


SCORE 
36 














TOTAL UfPtK HALF 


»*» 


















3 of a kind 


ADO TOTAL 
Of ALL DICE 














4 of a kind 


ADO TOTAL 
OF ALL DICE 














Full House 


SCORE 
25 














Sm. Straight ,S ~Z?" 


SCORE 
30 














Lg. Straight ,s ~*rT ] 


SCORF 
40 














YAHTZEE .'£ 


SCORE 
SO 














Chance 


soMJ 

TOTAL OF 
ALL 5 OICE 














TOTAL LOWEr'hALF 


)•+» 














TOTAL UPPER HALF 


J»*> 














GRAND TOTAL 


»*► 














Copyright 1956 - E. S. Lowe Company, Inc. 

6J7 4 ^_^^_^^^^^__^^____^^^_^^^^^^_^^^^^_ 



JAN FEB 1978 



133 






Yahtzee continued.... 

This is the BASIC version of the dice 
game Yahtzee. The game is played 
according to the standard rules. The 
program was written for the 
Timeshared-8 Edusystem 50. with 4K 
of memory for each user, by Steve 
Elias. 25 Turning Mill Road, Lexington. 
MA 02173. 

Following the game is a fascinating, 
in-depth article on "The Probability of a 
Yahtzee: Analysis and Computation, 
reprinted with permission from School 
Science and Mathematics. 

5 'PROGRAM BRITTEN BY STIVE ELIAS. 

T 'LEXINGTON HIGH SCHOOL. LEXINGTON. MA 
It RANDOM 

IS DIM CIS).KCI4.7).G<S>.FI4).HECt>.L8<tl.BSf7>.BS<7>.At<7l 
It PRINT CHR»(7)\PRINT CHRK 7 >\PRINT CHRJ17) 

IS PRINT-THIS IS THE GAME OF YAHTZEE. DO YOU WANT COMMENTS"! 
31 IHPUT BIMF BS--N0- THEM 4SMF SI--YXS" THEN 4B 

ss oosua 93s\ooto as 

*• 00 SUB 995 

45 PRINT-HOX MANY PLAYERS" I \ INPUT M PrOaraiTI Lifttinfl 

St IF N«l THEN 45MF N«.7 THEM 75 »"FWlli4Mli t-.o...iy 

55 PRINT-THE MAXIMUM NUMBER OF PLAYERS IS ?•■ 
71 GOTO «S 
75 FOR Al-l TO N 

•I PRINT-NAME OF PLAYER »"14tlxINPUT AS(At>\MEXT At 
IS PRINT-WOULD YOU LIKE A SCORECARD-J \ INPUT Bt 
9t IF Bt.-NO" THEM IBSMF BI--YES" THIN 9*5 
95 00SUB 93SNG0T0 85 
lit H-t\PRIHT\A-A»lMF lolH THEN II5XA-I 
ItS FOR B-l TO 5\C(B)-INT<S«RND(t>).l\NEXT BXPRINT 
lit PRINTXPRINT At(A>|-*S NUMBERS! "I\H-H»I 
115 PRINT C< 1 >IC<8>!C(3)IC14>ICfS)xlF H-3 THEN tit 
Itt PRINT-HOW MANY" 1 X INPUT I 
ItS IF to«! THEM IIISOOSUB II8IXG0T0 Itt 
131 IF E»5 THEM Itt 

13S IF E<t THEN IttMF INTIEX>E THEM Itt 
Kl IF E-t THEM tltMF E-5 THEM ItS 
1«5 FOR F3-I TO 4XF<F3>-IXNEXT F3 
ISt PRINT-WHICH DICE"! 
IS5 OM E SOTO Itt. ItS. I7t. 175 
I6t INPUT F<1)\00T0 III 
ItS INPUT F<II.F«t>\«0T0 Itt 
ITt INPUT F< I >.F<t>. F(3>\t0T0 lit 
ITS INPUT FCII.F<t>.F<3>.F(4> 

III FOR Fl-I TO 4\F<FI)-INTCFCFI MMF F(FII>5 THEN ISt 
ItS IF FtFIXt THEM ISIXMEXT Fl 
191 FOR Fl-I TO «\IF nril-l THEN ttt 
ItS C<F(FI>>-IHT<t*RMD<l>>»l 
ttt NEXT Fl 
ttS tOTO lit 

tit PRINT AS<A>!"-- SCOREBOARD NUMBER"! 
tlS INPUT I 

tit IF lots THEM 885XG0SUB II81X80T0 tit 
ttt IF Ml THEM 61IXI-1NT(1>X1F KM THEM t«S 
S3I PRIMT"COMFIRM-|\INPUT Bt 

I3S IF Bt.-NO- THEM tltMF BS--YES" THEM TlS 
■«• tOSUB 93SX60T0 I3t 
MS IF KU.A1-1 THEM MB 

ISt PRINT A»(A)|-. YOU HAVE ALREADY USED ROW »"II! 
IS5 PRINT-TOU HAVFJ"KCI,A>|-POINTS IN RON F-11SS0T0 tit 
ttt IF I> 6 THEM 315 
ItS REN—CATEGORIES ONE THROUGH SIX 

rrt k.i 

tTS FOR G-l TO SMF C(0!«.| THEN 881XK-KM 

ttt NEXT GMF K-l THEM I9SMF K< > I THEM 3tt 

ttS PRINT AtlAX". YOU HON HAVE I POINT IN ROW 1 I <ACI5>" 

191 Kfl.AI-l \ GOTO Tit 

ttt K< I.A1..4XG0T0 «tt 

3BS K<I.A>-K\tOTO ttt 

315 ON 1-4 tOTO 3IS.3tt.4M.4IS.4IS.3IS.ttS 

31! REH4443 OF A XIMD. 4 OF A KIND. YAKTEEE 

SIS R-3XT-C1 1 >«C<t>»C<3>»C<4).C<5>XG0T0 331 

311 «-4\T-C( l>»C<8>»C<3>.C<4>«C<3>X00T0 33t 

315 R-SXT-31 

331 FOR H3-1 TO 6XH8<H3>-txNEXT H3 

335 FOR H-l TO 6XF0R HI- I TO 5 

341 IF CIHIIoR THEM 331 

34S H!CH>-K!<H>»I 

351 NEXT H1XNEXT H 

3SS FOR H4-1 TO t 

MB IF Mt<X4»«R THEM 371 

3tS MEXT H4\K(I.A)-.4\60T0 tit 

371 IF KII.AI-St THEM 3lt 

375 KC1.AI-TMF 1«»|B THEM 39S 

311 PRINT CKRSITIXPRINT CKRt(T)\F0R V4- I TO 7XPRINT CHR»(7 > I \NEXT V4 

313 PRINT-CONGRATULATIONS -|ASIA)I" YOU HAVE A YAHTZEE I II" 

391 PRINT CKRt<7>\PRINT CHR>CT1\F0R V4- 1 TO 7XPR1NT CKRX7 > I XNEXT V4 

395 GOTO ttt 

411 HEN.. .FULL HOUSE 

413 L4-t\L5-t\F0R L- 1 TO «\LKL>-t\NEXT L 

411 FOR L-l TO 6\F0R LI-I TO S 

41S IF CCLIIoL THEM 4IS 

411 L8CD-LKLXI 

413 MEXT LI XNEXT L 

43 t FOR L3-I TO t 

43S IF LS-I THEM 451 

441 IF L8CL3>«»8 THEN 4St 

443 LS-LS»l\GOTO 455 

4SI IF LS<L3>«>3 THEN 441 

45S L4-L4.1 

441 MEXT L3 

4t5 IF L4-8 THEM 4TS 



Ijahtzee 



471 KC9.A1-.4X60T0 ttt 

4TS KC9.A1-85XG0T0 ttt 

411 GOTO ttt 

485 REM—.PUT NUMBERS IN ORDER. STRAIGHTS 

49t FOR Hl-I TO 5\FOR Hl-l TO HI 

495 IF C<HI»-C<H8> THEM SIS 

511 Z-C<MI>XC<N1>-C<H8>XCCN8>-Z 

SIS NEXT MS XNEXT HI 

Sit G-t\M3-t\G3-l 

SIS 68-IMF 1-1 1 THEN S4S 

Sit G-SMXIF G-13 THEN ttt 

31S READ 6(1>.GC8>. 8(3). G(4).G( 5 )\60T0 571 

S3t DATA I. 8.3.4.7.8.3.4.3.7. 7.3.4.5.4. 7.8. 3.4.5.7. 1.1.1.4 

533 DATA 1.7.8.3.4.1.8.7.3,4.1.8.3.7.4,8.7.3.4.5.8.3.4.7.3 

541 DATA 8.3.7.4.5.3.7.4.5.6.3.4.7.3.4.3.4.3.7,4 

MS IF G3>l THEM tit 

SSt G3-G3.1XS3-4 

SSS FOR 84-0 3 TO <03«4> 

Stl 8S-GS-1\G<S3>-G4 

MS NEXT G4 

STB FOR 01-1 TO S 

STS IF C(GI>«>G<G1> THEM 584x68-08.1 

Sit MEXT II 

SBS IF Gl-I-t THEM S9t\G0T0 SIS 

SM IF I- 11 THIN 395\K(I.A>-3t\80T0 ttt 

StS X<I.Al-4t\aOT0 tit 

611 K<1.A>-.4XG0T0 tIB 

615 REN444CHANCE 

tlS Yl-t 

415 FOB T-l TO SXY1-C<Y>»Y1XNEXT YXK<I3.A1-YI ; 

ttt PRINT AXA>!-. YOU NOW HAVE"! INTCKC I. Al ) I "POINTS IM ROW #"111", ' 

IBS PRINT"!"! 

431 IF 1>6 THEM ttt 

433 OM I GOTO 44S.4St.4SS.4tt.ttS.t7l 

ttt ON I-t tOTO 4TS.4tl.ttS.t9l.t9S.Ttl.7tS 

MS PRINT-ACES-IVGOTO TIB 

tSt PA1NT-TV0S-1X80T0 Tit 

tSS PRINT-THREES" l\40I0 Tit 

Ml PR INT-FOURS" I \G0T0 TIB 

MS PRINT-PIVES-IVBOTO TlS 

671 PRINT-S1XES-IV80T0 TIB 

tTS PRINT" 3 OF A KIND-IXQOTO TIB 

MB PRINT-4 OF A XIND-IXGOTO TIB 

ttS PRINT-FULL H0USE-IX80T0 TIB 

IM PRINT-SN. STRAIGHT"1\REST0RE»XI0T0 TIB 

ttS PRINT-LARGE STRAIGHT"! XSOTO TIB 

TBS PRINT-TAHTZEE-IXGOTO TlS 

TSS PRINT-CHANCE"! 

Tit IF E-13 THEM II3IMF IB-IS THEM IS3S 

TlS F»IHT->- 

TSS FOR B-l TO NXFOR Bl-I TO 13 

TtS IF X(BI.B»S THEM IBS 

TlS NEXT IIXMIXT B 

TlS FOB B3-1 TO N\t3(l3>-IXB1(I31-IXNEXT Bl 

TtS PRINT 

T4S FOB Bl-I TO NXFOR B4- 1 TO t 

Ttt 13<B3>-13<B3!«IBT<KCB4.S3)1 

Ttt NEXT 14XMEXT Bl 

Ttt FOR M-l TO NXFOR BT-T TO II 

TtS Bt(B4!-SS<B6>»!BTCKCB7.B«>) 

TTS NEXT BTVNEXT M 

TTS FOR Bl-I TO N 

TSS IF BSCBlXtl THEM TtS 

TlS X( 14.B31-33 

79S NEXT Bl 

TtS GOSUB MS 

SSS FOR A 9-1 TO N 

SSS PRINTNPRINTVPRIHT 

SIS PRINT TAB<19)IA»(A9)1" , S TOTALS"XPRINT TAB< 19 >>-....... ..." 

■IS PRINT 

811 PRINT-ACES-- "1 INTIKC 1. A9) > 

IBS PRINT-TWOS---- -IINT(X(8.A9>> 

lit PRINT-THREES 1 INT( KC 3. A9 > > 

IIS PRINT-FOURS -1INT(K<4.A9>> 

MS PRINT-FIVES "IINT<K<3.A9>> 

MS PRINT-SIXES -----!INT<K<4.A4>>\PRINT 

SSS PRINT"! OF A KIND "I IMT(KCT.At>> 

SSS PRINT-4 OF A KIND— — -| IMTIK<I.A9> > 

MS PRINT-FULL MOUSE -I IMTCX(9.A9> > 

MS PRINT-SN. STRA18HT I1NT<KC lt.A9>> 

871 PRINT-Lt. STRAIGHT -1 INTCRC I I.Atl > 

ITS PRIMT-YAHTZEE ---I 1NT<K< IB. A9) ) 

881 PRINT-CHANCE -| INT(K< 11. A9>> 

MS PR1NTXPR1NT-TOTAL OF UPPER HALF "1BSCA9I 

ItS PRINTXPRINT-BONUS -1K< 14.49) 

S9S PRINTXPR1NT"T0TAL OF LOWER HALF -JBBCA9) 

9M PRINT 

915 B9-B5<A9>»BSCA9).K< 14.A9) 

tlS PRINT «(«»II"S GRAND TOTAL — — — - IB , 

915 GOSUB MS 
981 NEXT A9 
MS IF !»IS THEN tit 
93S STOP 

tlS PRINT-ANSWER WITH YES OR NONRETURN 
94S FOR E-l TO 78XPRINT---1XNEXT EXPRINTXRETURM 
943 I0SUB 941 

951 PRIMT-|*4ACES-\G0SUB 94S\PRINT~t4*TV0S"\G0SUB 94S 
tSS PRINT"3*»THREES"\00SUB 94S\PRINT"444FOURS-\G0SUB 941 
Mt PRIMT-S**FIVES-\aOSUB 94IAPRINT"44*SIXES"\B03UB 941 
MS PRIMT-7441 OF A KIND-XGOSUB 94t\PRINT"14*4 OF A KIND"\00SU8 941 
tTt PRINT-944FULL HOUSE-XGOSUB 94IXPR1NT-II44SH. STRAIGHT"\GOSUB 941 
9TS PB1MT-U44LO. STRAIGHT"XGOSUB 94IXPR1NT" I844YAHTZEE-XG0SUB 941 
911 PRINT" l3**CKANCE"\aOSUB 94B 

MS FOR El-I TO t\PRINT\MEXT EI\PRINT"TEAR OFF SCORECARD- 
991 SLEEP I6XG0T0 IM 

99S PRINT-TOTALS WILL BE PRINTED IF YOU RESPOND T0- 
1111 PRINT- 'SCOREBOARD HUMBERT' WITH A NUMBER GREATER THAN II.- 
1113 PRINT-TO SEE WHAT SCOREBOARD OPTIONS YOU HAVE NOT USED. " 
111! PRINT-RESPOND TO 'HOW MANY' OR 'SCOREBOARD NUMBER' WITH 85." 
1115 RETURN 

1181 PRINT AtCAX-. YOU HAVE THE FOLLOWING SCOREBOARD OPTIONS LEFTl" 
1185 I1-85XF0R l-l TO I3MF K<I.A>-1 THEM 63IXG0T0 1135 
113! PRINT" -I 

1133 NEXT IXPRINT-.~xIt-txRt.TUHN 
IMS END 



134 



CREATIVE COMPUTING 



Sample Run 
—Game opening— 



THIS IS THE GAME OF YAHTZEE. DO TOU VMT CONMEMT5T YES 

TOTALS WILL BE PRINTED IF TOU RESPOND TO 

•SCOREBOARD NUMBER?' WITH * NUMBER GREATER THAN 13. 

TO SEE MAT SCOREBOARD OPTIONS TOU HAVE NOT USED. 

RESPOND TO 'HOW MANY' OR 'SCOREBOARD NUMBER' WITH 85. 

MM MANY PIAYIRVI I 

NAME OF PLAYER * I t STEVE 

NAME OF PLAYER « t » SUSAN 

MOULD TOU LIKE A SCORECARD? NO 



STEVE'S NUMBERS! 13 3 4 4 

STEVE—SCOREBOARD NUMBER! « 

STEVE. TOU NOV HAVE • POINTS IN ROW * 4 . (SIXES) 



SUSAN'S NUMBERS I 
HOW MAMYT 9 



SUSAN'S "UMBERS I 3 14 14 

HOW MANY? 4 

WHICH DICE? 1.3.4.5 

SUSAN'S MUHBERSI S 1 4 t 4 

SUSAN— SCOREBOARD HUMBERT I 

SUSAN. YOU NOV HAVE I POINT IN ROW « 1 (ACES) 



STIVE'S NUMBERS I 
NOV HANTT I 
WHICH DICEt I.I 

STEVE'S NUMBERS! 
HOW HANTT 8 
WHICH DICET l.t 



13 3 3 



13 3 3 



STEVE'S NUMBERS! 14 3 3 3 

STEVE- -SCOREBOARD HUMBERT 3 

STEVE. TOU NOV HAVE 9 POINTS IN ROW 4 3 . (THREES) 



SUSAN'S NUMBERS! I 3 S 1 3 

HOW HANTT 3 
WHICH DICtT 1.3.4 

SUSAN'S NUMBERS! 4 3 4(3 
HTM HANTT I 
WHICH DICET 4 

SUSAN'S NUMBERS! 4 3 4 4 3 
SUSAN- -SCOREBOARD HUMBERT * 
SUSAN. TOU NOV HAVE 85 POINTS IN 



ROW » » . (PULL HOUSE) 



STEVE'S NUMBERS! 3 4 4 3 4 

MOV HANTT 3 
WHICH DICET 1.3.4 

STEVE'S NUMBERS! S 4 4 I 4 

MOV HANTT t 
WHICH DICET 1.4 

STEVE'S NUMBERS! 4 4 4 4 4 

STEVE—SCOREBOARD HUMBERT IB-1 



CONGRATULATIONS STEVE TOU HAVE A TAMTZIEMI 

STEVE. TOU NOV HAVE SI POINTS IN ROM 4 It • CTAHTZEE) 

—At the end of the game— 



SUSAN'S NUMBERS! 5 3 4 5 4 

SUSAN— SCOREBOARD HUMBERT 85 

SUSAN. YOU HAVE THE POLLOVIHO SCOREBOARD OPTIONS LETT! 

ACES LARGE STRAIGHT TAHTZEE . 

SUSAN — SCOREBOARD HUMBERT 18 

SUSAN. TOU NOV HAVE t POINTS IN ROV » 18 . (YAHTZEE) 



STIVE'S TOTALS 



ACES- 

TVOS- 



FOURS- 
PIVES- 
SIXES- 



t 

■ 

• 

It 

84 

I 



3 or A KINO-— It 

4 Or A KIND—- t 

PULL HOUSE IS 

SM. STRAIGHT—- 31 

LO. STRAIGHT--- 41 

YAHTZEE— — St 

....... |t 



TOTAL OF UPPER HALT- 



BONUS — - 

TOTAL Or LOWER MALT- 
STEVE'S GRAND TOTAL - 



tl 

I 
IT4 



SUSAN'S TOTALS 



ACES- 
TWOS— 

THREES- 
FOURS- - 

nvES— 

SIXES— 



i 

4 

4 

14 

15 

IB 



3 Or A KIND It 

4 Or A KIND 13 

rULL HOUSE 85 

SM. STRAIGHT 31 

LO. STRAIGHT 4t 

YAHTZEE I 

CHANCE — 8t 

TOTAL Or UPPER HALP- 

BOMUS 

TOTAL Or LOVER HALT - 
SUSAN'S GRAND TOTAL - 



61 

t 

1ST 



STEVE'S NUMBERS! 3 18 3 4 

HDV HANTT tS 

STEVE. TOU HAVE THE FOLLOVIHG SCOREBOARD OPTIONS LETT! 

TWOS SIXES • 

NOV HANTT 4 

WHICH DICET 1.2.4.5 

STEVE'S NUMBERS! 8 3 8 14 

HOW HANYT 3 
WHICH DICET 1.4.5 

STEVE'S NUMBERS! 8 18 8 8 

STEVE—SCOREBOARD HUMBERT 8 

STEVE. TOU NOV HAVE S POINTS IN ROW 4 t . (TWOS) 



SUSAN'S NUMBERS! 
MOW HANTT I 
WHICH DICET t 



3 S 4 5 t 



3 14 5 4 



SUSAN'S NUMBERS! 

HOW HANTT t 

SUS4N — SCOREBOARD HUMBERT II 

SUSAN. YOU NOV HAVE 4t POIHTS IH ROV • II. < 



STEVE'S NUMBERS) I S I S I 

NOV HANYT 5 



STRAIGHT) 



READER CHALLENGE 

Readers: using your handy-dandy 
computer or calculator, can you deter- 
mine the following: 

1. The probability of rolling each 
type of scoring combination in the 
game of Yahtzee. 

2. A set of "rules of thumb" for the 
best way to play the game, taking into 
account both probabilities, expected 
outcomes, and what has happened in 
preceding moves. 

3. The expected score, assuming 
one followed the heuristics in (2). 



STEVE'S NUMBERS! 5 18 5 1 

HOW HANTT 5 



JAN FEB 1978 



135 



The Probability of a Yahtzee: Analysis and Computation 



Ijahtzee 



David R. Duncan and Bonnie H. Litwiller 

Aisociolf Profeuon of Mathematics 

Uiuvtnity of Northern Iowa 

Cedar Falti. Iowa 90613 



Teachers of units concerning probability are interested in examples 
of probabilistic situations in a non-classroom setting. Games are a 
rich source of such probabilities. Many people enjoy playing a 
commercial mathematical game called Yahtzee. A Yahtzee player 
receives points for achieving various specified numerical combinations 
of dice during the three rolls which constitute his turn. The winner 
of the game is the player who accumulates the most points in 13 
turns. 

The purpose of this article is to examine the probabilities of one 
particular combination of the dice, that of having 5 of a kind (all 
5 dice show the same number). This particular combination of dice 
is called a "Yahtzee" (the same name as the game). This combination 
is the most valuable one in terms of accumulating points during a 
game. 

A turn for each player consists of the following: 

1. He tolls all 5 dice at once. 

2. It he is satisfied with the outcome, he may conclude his lum with the one 
roll If he wishes to roll afain. he may pick up My or all of the dice and 
re-roll Ihem. 

3 If he is satisfied with the new outcome, he may conclude his turn with his 
second roll If he wishes lo roll a third time, he may pick up any or afl of 
the 5 dice and re-roll again The third roll is the termination of his turn 

Suppose that a player decides that his goal on a particular turn 
is lo roll a Yahtzee. The following six outcomes are possible on 
the first roll. (Here and henceforth, the Roman numerals will denote 
outcomes of the first roll of a turn.) 

I All J dice are alike This yields a Yahtzee on the very first roll 
II There are 4 dice alike and I die is different 

III There are 3 dice alike and neither of the other two matches the 3 of a kind, 
however, they may match each other 

IV Two dice show one numerical value, two other dice show a second numerical 
value, and the fifth die shows a third numerical value. 

V Two dice are alike: the other 3 are all different from each other and they 

also differ from the given pair. 
VI The 5 dice are all different 

Depending upon the situation achieved on the first roll, let us assume 
that the player will perform the second roll as follows: (Here and 
henceforth the capital letters will denote outcomes of the second 
roll of a turn.) 

I. Since the player has achieved Yahtzee. he will not roll again 
II He will roll the fifth die (the one die which was different) The possible outcomes 

are: 

A. The fifth die will match the other 4 thus producing a Yahtzee 

B The fifth die will not match. 
Ill The playet will leave intact the 3 dice which are alike and roll the other two. 

The possible outcomes arc: 

A Both match the 3 of a kind thus yielding a Yahuee 

B One die matches the 3 of a kind 

C. No matches result with the original 3 of a kind 
IV. The player will leave one of the pairs, pick up the other three dice and roll 

them again The possible outcomes are: 

A. All 3 dice match the original pair 

B. There arc 2 dice which match the original pair. 

C. There is one die which matches the original pair. 

D. The 3 dice all show the same number which is different from the original 
pair. 

E. The 3 dice do not all 3 show the same number and none of them matches 
the original pair 

V The player will leave the pair and re-roll the other 3 dice The same 5 outcomes 
occur as in I \ 

VI The player will re-roll all 5 dice For this case, outcomes A. B. C. D. E. 
and F are the same as I. II. Ml. IV. V. and VI 

On the third roll, the player will leave the maximal number of 
dice which are the same and roll the others. He either gets a Yahtzee 
or he does not. Either way his turn is concluded. Note in IV, D 
and V, D the player will leave the 3 of a kind and will now re-roll 
the original pair. 

For the above given outcomes we shall now compute the appropriate 
probabilities using the fundamental principle of counting. In each 
case, the denominator of the probability is computed by observing 
thai if n-distincl fair dice are rolled. 6' equally likely outcomes are 
possible. 



( I » 6. the number of ways of choosing the number shown on all 5 dice 



6 I 
«!) = --- 
6' 6* 



II I I ■ 5. the number of ways of selecting the 4 matching dice 

I I » 6. the number of ways of selecting the number lo be shown on the 

four dice. 

I I - V the number of ways of selecting the number for the fifth die 



P(ll) - 



5 6 5 



III. ( I - 10. the number of ways of selecting the three matching dice 

( ) • 6. the number of ways of selecting the number so be shown on these 

three matching dice 

I I - 25. the number of possible outcomes for the other two dice 

10 6 25 

Will) 

6' 

IV I I • 15, the number of ways of selecting the two numbers for the two pairs. 

I 1 - 10. the number of ways of selecting the two dice for the first pair. 

I 1*5. the number of ways of selecting the two dice for the second pair 

I I » 4. the number of possible outcomes for the fifth die 



•(IV) - 



15 10 3 4 



I 1 * 10. the number of ways of selecting the two matching dice 

I I - 6. the number of ways of selecting the number to be shown on these 

two dice. 

\ ) I )\ ) " *°- ,hc number of possible outcomes for the remaining dice 



P(V| 



10 t M 



VI. 6 is the number of ways of choosing a number for the first die. 
5 is the number of ways of choosing a number for the second die. 
4 is the number of ways of choosing a number for the third die. 
3 is the number of ways of choosing a number for the fourth die. 
2 is the number of ways of choosing a number for the fifth die 



P(VI) 



6 5 4 J 2 
~6>~ 



136 



We now investigate probabilities concerning the second roll: 
Assuming that II has occurred: 

A *><A) - I/* 

B. P(B) - 5/6. In this case, the probability of a Yahtzee on the third roll is 
1/6. or P(Y) - 1/6. on roll 3. 

Assuming III has occurred: 

A f>(A>- (1/6)' 

B ( J - 2. the number of ways of choosing the die to match the 3 of a kind. 

( J - 5. the number of ways of choosing the number for the non-matching 
die 

CREATIVE COMPUTING 



2 5 
P(B)- — — In this case POO- l/6.onroll3 




C. HO - (5/6)' In (his case POO - (1/6)'. on roll 3. 
Assuming IV has occurred: 

A. P(A)-(l/6)> 

B. ( I - 3. the number of ways of choosing the two matching dice 

( I - 5. the number of way* of choosing the number for the other die 
P<B)- .In um case. POO - 1/6 on roll 3 

C. ( 1-3. the number of ways of choosing the matching die 

I ) - 25. the number of ways of choosing the numbers for the other two 
dice. 

3 25 

PiC) - In this case. POO - (1/6)' on roll 3 

6> 

D. I ) - 5. the number of ways of choosing the number for the three of a kind. 
P(D| - 5/6'. In this case, the P(Y) - (1/6)' on roll 3. 

the number of ways of selecting 3 numbers, not all 3 alike. 



(,)-!-.» 



and none matching the original pair. Note that the (-5) term occurs to eliminate 
the case that the three dice all show the same number 
PIE) - 120/6'. In this case. P(Y) - (1/6)' on roll 3. 

Assuming that V has occurred, the probabilities of subsequent events 
are exactly the same as for IV. 
Assuming that VI has occurred: 

PiAt- P(l)-6/6'- l/»* 
5*5 



hb> - run ■ 

rtO-Pflll)- 



6 
10 6 25 



In this case. P( 10- 1/6 on roll 3 

In this case. POO- (I /6)> on roll 3 



15 10 3 4 
PlD) - P(IV) . In this case. POO - (1/6)' on toll 3. 

6 

10 6 60 
P(E>- P(V>- U this case. POO- (l/6)'onroll3. 

6 5 4 3 2 
P(F| - P(VI) . In this case. P( V) - (l/6)«on roll 3. 




"And now: an animal with eight letters. ." 
JAN/FEB 1978 



Some Yahtzee players in Case VI like to leave one die and try 
to obtain Yahtzee by rolling the other dice . This will lead to a different 
analysis than we have discussed; however, the probability of a Yahtzee 
can be shown to be the same under either strategy. 



The probability of rolling a Yahtzee is computed in Table 



Ta.h1 



roll 2 



roU3 



Decimal 
Product 



I. 

II. 



III. 



IV. 



I/* 4 
5 6 5 



10 6 25 



15 10 3 4 



V. 



lu 6 60 



VI. 



6 5 4 3 2 



A. 


1/6 


1 


B. 


5/6 


1/6 


A. 


(1/6)' 
2 5 


1 


B 


^ 


1/6 


c. 


(5/6)» 


tl/6)' 


A. 


11/6)' 
3 5 


' 


B 


3 25 


1/6 


C. 


6> 


(1/6)' 


D. 


5/6' 


tl/6)' 


E. 


120/6' 


<l/6)» 


A. 


• tl/6)' 
3 ■ 3 


1 


B 


3 25 


1/6 


c. 


6' 


tl/6) 1 


D. 


5/6' 


(1/6)' 


E. 


120/6' 


tl/6)' 


A. 


1/6* 


1 


B. 


150/6' 


1/6 


C. 


1500/6' 


(1/6)' 


D. 


11100/6' 


(1/6)' 


E. 


3600/6' 


(1/6)' 


P. 


720/6' 


tl/6) 4 



Total: 



Total 



.00077 



00322 
0026* 



00590 
00536 



00*93 
00372 



01*01 
00107 



00223 
.00013 



Total: 



00673 
.00214 



00447 

.00030 
001 19 

Total: 01346 

.00007 
00030 

00050 

00010 
.00020 
00001 

Total: 0011* 



Thus, the probability of rolling a Yahtzee is: .00077 + .00590 + 
.01801 + .00673 + .01)46 + .00118 - .04605. An experienced Yahtzee 
player knows very well how difficult it is to roll a Yahtzee. This 
probability thus supports his experience. 

The following diagram displays an interesting set of partial probabil- 
ities. The probabilities for rolls 2 and J are assuming the prior result 
of roll I. 



ROLL I 

P 

lYahuee "I 

P - .01929 

1 4 of a kind I - 

P- .19290 
I *- of a kind! - 

P- .2314* 
"«"i" I - 

P- 46296 

I ' r»» I ■ 

P- 09259 
I No matches! - 



ROLLS 2 i 



P - 30356 



P- 091)6 

- I Vahuec I 

P- 02906 

- lYahtwe I 



P- 02906 
-•» I Vahuec I 



P- 01263 

■ minn 



The interested reader and his students arc invited to consult the 
rules for playing Yahtzee and compute the probabilities of other 
desirable outcomes. The need for a calculating device is apparent. ■ 



137 






■■ 



■■ 



VAN GAM 



Alan Brown* 



Sample Run 



vn!*. 'ill H ^ F ' S GMC: D0 r0U UANT INSTRUCTIONS CY OR N)' r 

Z « L 1 SS2I5 TU ° PRES ° F « flTCH "- EACH CON?SinJng 100 OR LESS. 

VOU PLAT ALTERNATELY UITM ME. AND OUR MOVES CONSIST OF! 

(A) TAKING AWAY 1 OR MORE MATCHES FROM ONE PILE ONLY. OR 
<B> 1AMNG AWAY THE SANI NUMBLK I ROM EACH PILE. 
THE ONE WHO TAKES AWAY THE LAST MATCH OF ALL WINS. 
ENTER YOUR MOVES IN THIS MANNFK: 

'AKt TWO FROM LEFT PILE 
I KltiHl) TAKF THRCI I K'lIM KIGHT PILE 
<5 HOfH) TAKE FIVE FROM EACH PILE 



VAN GAM is a simple game with an 
interesting solution set. The winning 
sequence pairs are formed by certain 
mutually exclusive sequences, using 
the golden mean, ,— 

1 +V5 

2 

as an irrational 

generator. See explanation, lines 40- 
130. 



IFT = 1 +y/5 



DESIRED PILE SIZES ( NUMBER. NUMBER ) F 
DO YOU WANT TO GO FIRST (Y OR N>? 











LEFT 
17 


RIGHT 
22 


YOUR 
HH. . 


move: 
i take: 


3L 

?b 


LEAVING 
LEAVING 


14 
12 


22 
20 


YOUR 
HM. . 


move : 
I take: 


lb 

2R 


LEAVING 
LEAVING 


9 
9 


17 
IS 


YOUR 
HM. . 


move: 
i take: 


5R 
3L 


LEAVING 
LEAVING 


9 
6 


10 
10 


YOUR 
HH. . 


move: 
i take: 


lb 

2R • 


LEAVING 
LEAVING 


3 
3 


7 
S 


YOUR 
HH. . 


move: 
i take: 


3R 

2L 


LEAVING 
LEAVING 


3 
1 


2 
2 


YOUR 
HM. . 


move: 
i take: 


1R 
IB 


LEAVING 
LEAVING 


1 



1 




SORRY - I WIN. DON'T FEEL BADLY - I'M AN EXPERT. 
DO YOU WANT TO PLAY AGAIN <Y OR N>T Y 



DESIRED PILE SIZES < NUMBER. NUMBER ) * 26.14 
DO YOU WANT TO GO FIRST <Y OR N)T N 



and X = T+ 1, Y = — +1 

then for integers N the winning se- 
quence generators are 

INT (N * X) 25 7 10 13 

INT (N ' Y) 1 3 4 6 8 

It is interesting to note that the union 
of these sequences is the set of 
integers, and their intersection is 
empty. That is the case, in fact, for any 
irrational generator, but only T will 
produce winning VAN GAM pairs. The 
game is not much fun in that the 
average user will never be able to beat 
the computer in non-trivial cases, 
unless he has been taught the winning 
sequences. 



"Headmaster. St George's School. 4175 West 29 
Ave . Vancouver. B.C.. Canada v6S 1V6 



I take: 



your hove: 
hm.. i take: 



your move: 
hm.. i take: 



your move: 
hm.. i take: 



your move: 
hm.. i take: 



your move: 
hm.. i take: 



your hove: 
hm.. i take: 



your hove : 
HM.. I take: 



your move: 
hm.. i take: 



your move: 
hm.. i take: 



your move: 

HM.. 



2B 

1L 



2B 
1L 



IB 
1L 



2B 
1L 



IB 

1L 



2B 

1L 



1L 
IB 



2B 
1L 



LEFT 
26 
LEAVING 25 

LEAVING 23 
LEAVING 22 

LEAVING 20 
LEAVING 19 



LEAVING 
LEAVING 



LEAVING 
LEAVING 



LEAVING 
LEAVING 



LEAVING 
LEAVING 



LEAVING 
LEAVING 



IB LEAVING 



18 
17 



LEAVING IS 
LEAVING 14 



LEAVING 13 
LEAVING 12 



10 
9 



RIGHT 
16 
16 

14 
14 

12 
12 

11 
11 



YOU WIN> > 

CONGRATULATIONS. YOU ARE A VERY CLEVER VAN WYTHOFF'S GAMESMAN. 

DO YOU WANT TO PLAY AGAIN <Y OR N)T Y 



DESIRED PILE SIZES ( NUMBER. NUMBER ) t 13.17 

DO YOU WANT TO GO FIRST <Y OR N)» Y 



LEFT RIGHT 
15 17 

YOUR MOVE! 19 

IMPROPER ENTRY. STOP FOOLING AROUND. 

YOUR HOVE: 22 

IMPROPER ENTRY. STOP FOOLING AROUND. 

YOUR MOVE: 18 

LOOK. YOU JUST WON'T STOP FOOLING ABOUT. BUZZ OFF. 

O.K. BYE NOW. 

READY 
RUNNH 

VAN WYTHOFF'S GAME: DO YOU WANT INSTRUCTIONS <Y OR N)T N 



DESIRED PILE SIZES (NUMBER. NUMBER >» 45.45 
DO YOU WANT TO GO FIRST <Y OR N)» Y 



LEFT RIGHT 
45 43 
YOU LIKE SITTING DUCKS. DON'T YOUT 

YOUR MOVE: 4SB LEAVING 
HH. . 

YOU WIN' ' 

CONGRATULATIONS. YOU ARE A VERY CLEVER VAN WYTHOFF'S GAMESMAN. 

DO YOU WANT TO FLAY AGAIN <Y OR N)» N 

O.K. BYE NOW. 

READY 



138 



CREATIVE COMPUTING 



•! 



\ 00 TO 355 



10 oin o(?oo> 

15 X-(l*S0R(5>>/2 \ Y-ltl/X \ X-1*X 

16 FOR 1-0 TO 99 

17 0(I*2)-INT(I*X> \ 0(I»2»1 >«INT(I»Y) 

18 NEXT I \ T»0 

20 PRINT 'VAN MYTHOFF'S GAME: DO YOU WANT INSTRUCTIONS <Y OR N>» 
.10 A-SYS(4> \ PRINT \ IF A-78 THEN 130 
40 PRINT -YOU ARE TO CREATE TIM) PILES OF HATCHES. EACH CONTAINING 100 OR LESS.' 
50 PRINT "YOU PLAY ALTERNATELY UITH HE. AND OUR MOVES CONSIST OF!" 

60 PRINT TAB(10)I'(A> TAKING AWAY 1 OR HORE HATCHES FROH ONE PILE ONLY. OR' 

70 PRINT TAX 10>i '(B) TAKING AWAY THE SAHE NUMBER FROH EACH PILE.' 

BO PRINT 'THE ONE UHO TAKES AWAY THE LAST HATCH OF ALL UINS.' 

90 PRINT 'ENTER YOUR MOVES IN THIS MANNER: ■ 

100 PRINT TA8(10)''2L - <2 LEFT) TAKE TUO FROM LEFT PILE' 

110 PRINT TAB(10)I'3R - (3 RIGHT) TAKE THREE FROH RIGHT PILE' 

120 PRINT TAB(10)I'SB - (S BOTH) TAKE FIVE FROM EACH PILE' 

130 PRINT \ PRINT \ PRINT 

200 PRINT 'DESIRED PILE SIZES ( NUMBER. NUMBER ) * •( 

205 A-SYS(3> 

210 GOSUB 350 \ IF Sl-0 THEN 210 \ L-Sl \ PRINT '.'» 

220 GOSUB 350 \ IF Sl-0 THEN 220 \ R-Sl \ A-SYS(2> 

230 IF L+R-0 THEN 250 \ IF L*R>5 THEN 240 \ PRINT \ PRINT "OH. YOU'RE A SPORT. 

240 PRINT \ PRINT 'DO YOU UANT TO GO FIRST (Y OR N>-> •( 

250 B-SYS(4> \ PRINT \ PRINT \ PRINT \ PRINT TAB(27) » 'LEFT RIGHT' 

255 PRINT TAB<27)*LITAB(33MR 

260 P-LB2 V IF L>R THEN 400 \ P-R*2 \ GO TO 400 

350 Sl-0 

355 A-SYS<4> \ IF A>57 THEN 380 \ IF A 48 THEN 380 

370 Pl-10*Sl«A-48 \ IF Pl>100 THEN 380 \ Sl-Pl \ PRINT CHR*(AM 

380 RETURN 

400 IF B-78 THEN 690 

405 IF L-R THEN PRINT 'YOU LIKE SITTING DUCKS. DON'T TOUT' 

410 PRINT \ PRINT 'YOUR MOVE : ' I TAB< 1 4 ) I \ Sl-0 

430 A-SYS(3> \ A-SYSC4) \ IF A>57 THEN 480 \ IF A<48 THEN 480 

440 Pl-SltlO+A-48 \ IF PI 100 THEN 430 \ Sl-Pl \ PRIHT CHR»(A)I \ GO TO 430 

480 IF Sl-0 THEN 430 \ IF A-76 THEN 550 \ IF A-82 THEN 570 \ IF A-66 THEN 590 

490 GO TO 430 

520 T-T+l \ IF T>2 THEN 1940 

530 PRINT \ PRINT 'IMPROPER ENTRY. STOP FOOLING AROUND.* \ GO TO 410 

550 IF S1>L THEN 520 \ L-L-Sl \ GO TO 610 

570 IF S1>R THEN 520 \ R-R-Sl \ GO TO 610 

590 IF S1>L THEN S20 \ L-L-Sl \ GO TO 570 

610 PRINT CHRt(A)'TAB(19>l'LEAVING'ITA((27>IL'TAB(33>-R \ A-SYS(2> 

614 PRINT 'HM.. 'I 

615 FOR 1-1 TO 500 \ A-A+I \ NEXT I 
620 IF L*R>0 THEN 690 

630 PRINT \ PRINT \ PRINT 'YOU WINM' \ PRINT 

635 PRINT 'CONGRATULATIONS. YOU ARE A VERY CLEVER VAN WYTHOFF'S GAHESHAN. ' 

640 GO TO 1900 

690 1-0 \ M-0 

700 IF 0(I>-L THEN 760 \ IF 0(I«1)-L THEN 780 

720 IF 0(I)-R THEN 800 \ IF 0(I*1)-R THEN 820 

740 I-I+2 \ GO TO 700 

760 Ll-I \ L2-1 \ IF H-l THEN 840 

770 H-l \ GO TO 720 

780 Ll-I \ L2-0 \ IF M-l THEN 840 

790 M-l \ GO TO 720 

800 Rl-I \ R2-1 \ IF H-l THEN 840 

810 H-l \ GO TO 740 

820 Rl-I \ R2-0 \ IF M-l THEN 840 

830 H-l \ GO TO 740 

840 IF L-R THEN 895 \ IF Rl-Ll THEN 1080 

850 IF LI Rl THEN 900 

860 P-L1+L2 

880 IF 0<p)>R THEN 940 

890 M-R-O(P) \ R-O(F) \ A»-'R' 

895 H-L \ L-0 \ R-0 \ A»-'B' \ 

900 P-R1«R2 

920 IF Q(P)>L THEN 940 

930 H-L-0<P) \ L-O(P) \ A«-'L' 

940 M-0 \ A»-'»' 

950 P-Ll \ IF RKL1 THEN P-Rl 

960 P-P-2 \ 0-0 

965 M-Mtl \ L-L-l \ R-R-l 

970 FOR I-P TO STEP -2 

990 IF 0(I)-L THEN 1040 

1000 IF 0(Itl)-L THEN 1050 

1010 IF 0(I>-R THEN 1060 

1020 IF 0(1+1 >-R THEN 1070 

1030 NEXT I \ 00 TO 965 

1040 IF 0<I«1>-R THEN 1110 \ GO TO 1075 

1050 IF 0(I)-R THEN 1110 \ GO TO 1075 

1060 IF 0(I+1)-L THEN 1110 \ GO TO 1075 

1070 IF 0(I)-L THEN 1110 

1075 IF G-l THEN 960 \ 0-1 \ GO TO 965 

1080 IF I R THEN 1100 

1090 R-R-l \ H-l \ A«-"R' \ GO TO 1110 

1100 L-L-l \ H-l \ A»-'L' 

1110 PRIHT 'I TAKEI*ITAB(14)ISTR*(H)tA*ITAB(19)l'LEAVING*iTAB(27)ILITAB<33>IR 

1120 IF L+R>0 THEN 410 

1130 PRINT \ PRINT 'SORRY - I NIN. DON'T FEEL BADLY - I 'H AN EXPERT.' 

1900 PRINT \ PRINT 'DO YOU UANT TO PLAY AGAIN (Y OR H)T ') 

1910 A-SYS(4> \ PRINT 

1920 IF A-89 THEN 130 \ GO TO 1950 

1940 PRINT \ PRINT 'LOOK. YOU JUST WON ' T STOP FOOLING ABOUT. BUZZ OFF.' 

1945 A-SYS(2) ' 

1950 PRINT \ PRINT 'O.K. BYE HON.' 

1960 END 



Program Listing 



\ GO TO 1110 
GO TO 1110 



\ 00 TO 1110 



JAN/FEB 1978 



139 



warn 






*/V —*Af* i ^ l t 1 nW"» ^ » | w ^ i ' , < i^ "i i ^i'iii ^ » i i^"" 



KIRKOF 
and 

NETWRK 




»V^» mn/f f t t *»*Jlp m ^fr»'«>^fl> " «i *& " ***&' w ^"« i ^» ' w V ^» »»^V " f*JI/' " ^ >M ' 



! 



KIRKOF inputs data describing a simple electrical 
network (resistors and DC potential difference sources). 
The program calculates the current in each line, using 
Kirchoff's Laws, and then chains (line 4300) to NETWRK 
which draws a picture of the circuit. Each program runs in 
4K in the present configuration, which allows for 10 
junctions (each labelled with a single digit or alphabetic 
character) and 22 possible current-bearing lines. 

We run on a PDP/11V03 in a multi-user BASIC 
environment. There are several explanations required for 
some programming steps with this interpreter: 

1. Notetheroleof backslashes in IF statement THEN 
statement statements. Line 510 in KIRKOF has the 

following effect: IF P (J.1) = I THEN ( A(I.J) = 1 GO TO 
550 ) An IF statement THEN line number treats 
backlashes differently: for example, line 1050 has no such 
parenthesized effect. 

2. SEG$. CHRS, STR$ and TRMS are particular string 
features of the PDP BASIC 11 interpreter 

3. A = SYS(3) eliminates echoing. SYS(2) restores it, A = 
SYD(4) inputs into A the ASCII code for a keyboard 
entered character. 

Programming comments: 

To merge the two programs in an 8K environment, omit 
lines 1 and 4300. alter 4260. renumber 4310. 4320 



Alan Brown' 



KIRKOF: Lines 



20- 90 instructions 
110- 391 data input 
400- 493 data reorganization into 

canonical form 
500- 550 current balance equations 
790-2000 Kirchoff's Loops identified 

and P.D. equations formed 
4000-4290 Solution of N x N equations 

by Gauss-Seidel interative 

method. 



NETWRK: Quite a tricky program in avoidance of 
unwanted vertical lines A bit too ad hoc. I'm afraid 



•Headmaster. St Georges School. 4175 West 29 Ave. Vancouver BC 
Canada V6S 1V6 




"Lef's see now . . . Have you had any previous 
experience with electricity?" 



140 



CREATIVE COMPUTING 






1 



«! 






1 COMMON P<22f5).Q(10)fX<22).N.M 

9 A*SYS(3> 

10 DIM A(22f22>.B(22>pS<22»2)fD(22> 
20 PRINT 'DO YOU WANT INSTRUCTIONS? 
30 A=SYS(4> \ IF A=78 THEN PRINT ■ 
40 IF A<>89 THEN 30 \ PRINT ■ YES' 
42 PRINT 

20 OHMS 
•_/\/\/\__. 



NO* \ 00 TO 90 

\ PRINT 'ENTER DATA THUS:' 



KIRKOF 
Program Listing 



48 PRINT 
50 PRINT 
32 PRINT 
54 PRINT 
56 PRINT 
58 PRINT 
60 PRINT 
62 PRINT 
64 PRINT 
66 PRINT 

68 PRINT 

69 PRINT 

70 PRINT 
90 PRINT 



DATA ENTRY:' 


A C 


R20' 


(OR 


C A R20)' 


B A 


R50' 


B C 


RIO' 


B C 


-25' 


(OR 


C B +25>' 



I 



/10 OHMS 

\ 

/ 

• ._/\/\/\__. II . ' 

50 OHMS B 25 V." 
\ PRINT 'AFTER EACH ENTRY. HIT THE SPACE BAR. WHEN FINISHED ALL ENTRIES. HIT RETURN.' 
\ PRINT 

PRINT 



PRINT 'ENTER NETWORK CONNECTIONS:' 
110 FOR 1-1 TO 2 

120 A=SYS(4> \ IF A=13 THEN IF N=0 THEN 120 \ IF 1=1 THEN A=SYS(2) \ PRINT \ 00 TO 400 
130 IF A>47 THEN IF A<58 THEN 145 
135 IF A>64 THEN IF A<91 THEN 145 
140 GO TO 120 

145 IF 1-2 THEN IF Q( P( N+l t 1 ) ) =A THEN 120 

150 PRINT CHR»(A>»' '( \ FOR J=l TO M \ IF Q(J>-A THEN 170 \ NEXT J \ M-M+l \ 0(M)=A \ J=M 
170 P(N+1.I)=J \ NEXT I \ N=N+1 

180 A=SYS(4> \ IF A-43 THEN P(Nf3>=1 \ GO TO 220 
190 IF A=45 THEN P(N»3>=-1 \ 00 TO 220 
200 IF A<>82 THEN 180 
220 PRINT ' '»CHR«(A>. \ S=0 

230 A=SYS(4> \ IF A >47 THEN IF A<58 THEN S=S*10+A-48 \ PRINT CHR*(A>» \ 00 TO 230 
250 IF A<>46 THEN 320 
300 PRINT '.' i \ C-10 

310 A=SYS(4> \ IF A>47 THEN IF A<58 THEN S=S+(A-48>/C \ C=C*10 \ PRINT CHR«(A>f \ GO TO 310 
320 IF A<>69 THEN 390 \ PRINT 'E'» \ C=l 

330 A=SYS(4) \ IF A=45 THEN C=C*-1 \ PRINT •-•• \ GO TO 330 

340 IF A>47 THEN IF A<58 THEN S»S*10~< ( A-48XC) \ PRINT CHR«(A>* \ GO TO 390 
350 GO TO 330 

390 P(N.4)-S \ PRINT ■ I '» \ H=H+1 \ IF H=5 THEN H=0 \ PRINT 

391 GO TO 110 

400 FOR 1=2 TO N \ IF P<I»1XP(I»2> THEN 450 \ T-P(I.l) \ P( I » 1 >=P( I » 2 > \ P(Ir2>=T \ P< 1 1 3 ) =P( I r 3 > *-l 

450 NEXT I 

460 FOR 1-1 TO N-2 \ FOR J-2 TO N-I 

470 IF P(J»1) <P<J+1»1> THEN 490 

480 IF P(J.l)-P(J+lf 1) THEN IF P( Jr 2)<=P( J+l r 2) THEN 490 

485 FOR K"l TO 4 \ T=P(JfK> \ P< JtK>=P< J+l .K> \ P(J+1»K)=T \ NEXT K 

490 NEXT J \ NEXT I 

493 PRINT 

500 FOR 1=1 TO M-l \ FOR J=l TO N 

510 IF P(J.1>=I THEN A(IrJ)=l \ GO TO 550 

520 IF P(J»2>=I THEN A(I»J> — 1 

550 NEXT J \ NEXT I 

790 FOR G=M TO N 

800 L=L+1 \ IF P(L»l)<P(L+lrl) THEN 800 \ Sl=l \ S(1>1)=L \ S<1>2>=2 

900 S5-L 

000 K=P(S(S1»1) tS(Sl»2>) \ FOR I=S5+1 TO N \ IF I=S(S1»1) THEN 1040 

005 IF K-P(I.l) THEN Kl=2 \ GO TO 1100 

010 IF K=P(Ir2> THEN Kl=l \ GO TO 1100 

040 NEXT I 

050 IF Sl = l THEN 800 \ S5=S<S1.1) \ S1=S1-1 \ GO TO 1000 

100 FOR J=l TO SI \ IF P(S(J.l>»S<J»2))=P(IfKl) THEN 1040 \ NEXT J 

110 S1=S1 + 1 \ S(Slrl) = I \ S(Slr2)=Kl \ IF P(IrKl>OP(S(lrl>>l> THEN 900 

120 FOR 1=1 TO SI \ Il=S(Itl> \ P9=- P< II r4)»( <2*S< I r2) )-3) \ IF P<11.3)=0 THEN A(G,I1)=P9 \ GO TO 1300 

130 B<G>=B(G)+P(I1.3)»P9 

300 NEXT I 
2000 NEXT G 

000 FOR K=l TO N-l \ 

020 FOR I=K+1 TO N \ 

025 NEXT I 

030 IF P=0 THEN 4310 \ IF I1=K THEN 4060 

040 FOR J=K TO N \ T=A(KfJ> \ A(K . J) =A( I 1 . J) \ A<I1fJ>-T \ NEXT J 

050 T=B(K) \ B(K)=B(I1> \ B(I1>=T 

060 FOR I=K+1 TO N \ M3=-A( I ,K > /A(K .K ) \ A(I.K)=0 

080 FOR J-K+l TO N \ A(I»J)=A<I.J)+A<Kr J>*M3 \ NEXT J 

090 B(I)=B(I>+B(K)»M3 \ NEXT I \ NEXT K 

210 FOR 1=1 TON \ D(I)=B<I) \ FOR J=I TO N \ D( I )=D( I >-A( I , J)*X( J) \ NEXT J \ NEXT I 

250 FOR I=N TO 1 STEP -1 \ FOR J-I+l TO N \ D( I )=D( I >-D< J)*A( I > J> \ NEXT J 

260 IF A(I.I)=0 THEN 4310 \ D( I )=D< I >/A( I . I > \ NEXT I 

290 P=0 \ FOR 1 = 1 TON \ X( I )=X< I >+D( I ) \ P=P+D( I )*D( I > \ NEXT I \ IF P>1 .00000E-03 THEN 4210 

300 CHAIN 'NETWRK.B01* 

310 PRINT 'SHORT CIRCUIT IN LINF '» 

320 PRINT CHR»(0(P(K»1>))»'-'»CHR«(0<P(K»2)>) 
9999 END 



P=ABS(A(KfK) > 
0=ABS(A(IfK>) 



I1=K 

IF 0>P THEN P=0 \ 11 = 1 



JAN/FEB 1978 



141 



NETWORK 
Program Listing 



NEXT M9 
\ P»(J>= 



\ NEXT J \ IF M7=N THEN 9990 \ GO TO 5010 



4301 DIM 01<10)fQ5(10)»P«(3> 

4304 PRINT \ PRINT 

4305 Bl»=" ■ \ Ll«»"l" \ Plt='.' 
4307 PRINT • LINE CURRENT" 

4310 FOR 1=1 TO N S PRINT STR*< I ) >P1«»B1«>CHR»<0<P( I , 1 ) ) ) i ■-• i 

4311 PRINT CHR«(Q<P<I,2)))!' • «STR«<X( I ) ) > ' A' \ NEXT I 
4320 PRINT \ PRINT 

5000 Bt = " • \ FOR 1 = 1 TO M-l \ PRINT CHR«(Q< I > ) ihf, \ NEXT I \ PRINT CHR»(Q(M>> 

5005 FOR 1-1 TO M-l \ PRINT L1«»B«J \ NEXT I \ PRINT Ll« 

5008 FOR 1=1 TO N \ Q5<P< I t 1 ) >=Q5(P< I , 1 > ) + l \ 05(P( I f2> >=Q5(P( I .2> )+l \ NEXT I 

5010 MO-1 \ Nl=l 

5030 FOR I=N1 TO N 

5032 IF P(I.1)>=M0 THEN IF P(I,5)=0 THEN 5034 

5033 GO TO 5040 

5034 N1=I \ M1=P(N1f1> \ M2=P(N1.2> \ P(N1f5>-1 

5035 05<M1)=Q5(M1)-1 \ 05(M2>=05(M2)-1 
5038 M7-M7+1 \ GO TO 5200 

5040 NEXT I \ M9=M0 \ GOSUB 6200 \ FOR M9=M0+1 TO H \ FOR J=0 TO 3 

5041 P«( J)=P*(J>+B« \ NEXT J \ M8=l \ GOSUB 6200 \ M8=0 \ 
5050 PRINT TRM«(P*<0>) \ FOR J=0 TO 3 \ PRINT TRM»<P»<J>> 
5200 M9=M0 

5210 IF M0=M1 THEN 5380 

5220 GOSUB 6200 \ FOR 1=0 TO 3 \ P*< I >=Pt < I >+B« \ NEXT I 
5310 FOR I=M0+1 TO Ml-1 \ V«=L1« \ IF 01(I)=0 THEN V»=B1« 
5320 FOR J=0 TO 3 \ P*< J>=P*< J)+V»+B» \ NEXT J \ NEXT I \ M9=M1 
5380 GOSUB 6200 

5393 R»=STR»<X(N1>> \ IF LEN(R*><10 THEN R«=R«+" A" 

5394 IF X(N1)<0 THEN Ri^X'+R* \ GO TO 5400 
5396 R«=R»+'->' 

5400 W*=B« \ IF LEN<R«)<13 THEN R«=B1»+R« 
5410 R*=R«+SEG*<B«rl,13-LEN<R«)> \ IF M2-M1 = 1 THEN V»=R« 

5420 P«<1>=P»(1)+V« \ IF P(N1f3) = 1 THEN «•-• — II 

5440 IF P(N1.3>=-1 THEN «♦-• — I: • \ GO TO 5460 

5450 V»="-'\/\/\/\/ • 

5460 P*(2)=P»(2)+W« \ V«=STR«<P<N1.4>> \ IF P(N1>3)=0 THEN 5470 

5465 IF LEN<V«X12 THEN Y»=V«+" V \ GO TO 5478 

5470 IF l.EN(Ut) 10 THEN Vt=V«+" OHM' \ GO TO 5478 

5475 «»=«»+■ 0' 

5478 IF LEN(W*)<13 THEN Wt=Bl«+y« 

5480 P«(3)=P»(3)+y»+SEG«(B».l,13-LEN(W«) ) 

5490 P*(0)=P»<0)+B« 

5500 FOR I-Ml + 1 TO M2-1 \ W« = B1» \ IF 01(I) = 1 THEN V«=L1« 

5510 P»(0)=P»<0>+V«+B» \ P$(1>=P«<1)+V« 

5520 P«(3)=P$<3)+y«+B» \ W«=B« \ IF I=M2-1 THEN IF M2-M1M THEN W«=R« 

5530 P»<l)=Pt(l)+W« \ P»<2)=P»<2> + ■ • 

5540 NEXT I \ M0=M2 \ GO TO 5030 
6200 V»=B1« \ IF Q1(M9) = 1 THEN V«=L1« 
6250 P*<0>=P«<0)+Wt \ P«(l)=P»(l>+y« 

6252 V« = B1* \ IF M8<>1 THEN 6255 

6253 IF 01(M9)=1 THEN W»=L1« 

6254 GO TO 6257 

6255 IF Q1<M9)+Q5<M9)>0 THEN W«=P1« 

6256 IF M0=M1 THEN V«=P1« 

6257 P*(2)=P»<2>+W» 

6260 IF M8<>1 THEN QKM9)=0 \ IF Q5<M9)>0 THEN Q1(M9) = 1 
6265 V« = B1* \ IF QKM9) = 1 THEN V«=L1» 
6270 P»(3)=P*<3)+W« 
6280 RETURN 

9990 PRINT \ PRINT \ PRINT \ PRINT 'ANOTHER NETWORK? ■; \ A=SYS(3) \ A=SYS<4> 

9991 IF A<>89 THEN 9998 \ PRINT "YES" \ CHAIN 'KIRKOF.BOl - LINE 90 

9998 PRINT 'NO' \ A=SYS<2) 

9999 END 



\ GO TO 5460 



DO YOU WANT INSTRUCTIONS? NO 
ENTER NETWORK CONNECTIONS! 



Sample Run 



A B 


R110 I 


B C 


+ioo : 


C D 


R120 ! 


E F 


R130 i 


A G 


-150 


B D 


R140 : 


E G 


R1S0 ! 


B D 


R160 : 


E H 


R170 : 


B E 


+200 


B H 


R180 : 


C F 


R190 ! 


E G 


R200 : 













LINE 


CURRENT 


1 . 


A-B 


1.78832 A 


.'. 


A-G 


-1.78832 A 


.5. 


B-C 


.201199 A 


1. 


B-D 


-.273973 A 


5. 


B-D 


-.239726 A 


A. 


B-E 


2.67225 A 


/. 


B-H 


-.57142B A 


11. 


C-D 


.513699 A 


7. 


C-F 


-.3125 A 


10 


. E-F 


.3125 A 


1) 


. E-G 


1.0219 A 


12 


. E-G 


.766423 A 


13 


. E-H 


.571429 A 



142 



CREATIVE COMPUTING 



1.78832 A-> .201199 A-> .513699 A-> 



I 110 OHM 



100 V 



120 OHM 



.3125 A-> 
130 OHH 



.— i: — 

150 V 



<-l. 78832 A 



140 OHH 



<-. 273973 A 



ISO OHM 



1.0219 A-> 



-'\/\/\/\/ s - 
160 OHM 



<-. 239726 A 



200 OHM 



.766423 A-> 



— JI 

200 V 



2.67225 A-:- 



170 OHM 



.571429 A-> 



180 OHM 



<-. 571428 A 



190 OHH 



<-.3125 A 



ANOTHER NETWORK? YES 
ENTER NETWORK CONNECTIONS: 

R25 



1 2 R15 1 1 3 RIO ! 


3 4 


2 3 +75 1 




LINE 


CURRENT 




1. 1-2 


3.8961 A 




2. 1-3 


-1.65584 A 




3. 1-4 


-2.24026 A 




4. 2-3 


4.31818 A 




5. 2-4 


-.42207B A 




6. 3-4 


2.66234 A 




1 

! 


2 
I 


3 
1 



4 2 R20 ! 1 4 -50 



3.8961 A-> 


4.31818 A-> 


2.66234 A-> 


,-'\/\/\/\/ > — 


. — :i 


-'\/\/\/\/ x — 


I 15 OHH 


i 75 <J 
1 


25 OHH 




i -1.65584 A 




1 10 OHH 


i 
1 




.—XI 


! 

! 


<-2. 24026 A 



50 V ! 

! 
! 
! 



<-. 422078 A 



20 OHH 



ANOTHER NETWORK? 
READY 



NO 




|JAN/FEB 1978 



143 



Index to Advertisers 

Ai Cybernetic Systems 123 

ALF Products Inc. 124 
Business & Personal Computer 

Sale and Expo 87 
Byte Shop of Campbell. California 53 

Byte Publictions 79 

Capital Equipment 126 

Carterphone Communications 21 

Computalker Consultants 46 

Computer Corner 118 

Computer Enterprises 25 

ComputerFest 78 120 

Computer Hardware of Virginia 105 

Computer Mart of California 119 

Computer Mart of New Jersey 127 

Computer Mart of New York 126 

Computers Plus, Inc. 53 
Creative Computing 1 1 2, 1 1 2a, 1 1 2b 

113. 121 

Cromemco 1 

Cybercom/Solid State Music 5 

E & L Instruments Clll 

Elect rolabs 111 

Engel Enterprises 127 

Four Corners Press 105 

Heath Co. 7 

Jade Co. 55 
McGraw Hill 32a. 32b. 33 

Miniterm Associates 9 

Netronics 125 

North Star Computers 13 

OK Machine & Tool Company 40 
Ontario Institute for Studies 

In Education 116 

Osborne & Associates 43 

Oxford Software Corp. 53 

Parasitic Engineering 19 

People's Computers 23 

Personal Computer Corporation 116 

PolyMorphic Systems CIV 

Processor Technology 11 
Southwest Technical Products Co. Cll 

Summagraphics Corp. 29 
Sybex 128. 129 

Tarbell Electronics 46 

Technical Design Labs 2 

Tektronix 17 

Virginia Home Computer Center 127 
WAMECO Inc. 37,119 

Windjammer Cruises 122 

Xybex 105 




Coming in March 

• Small-Business Uses of Personal Computers. In the first 
part of this new series, which will cover a specific area in 
each issue, we'll examine programs for merchandise 
inventory. First as viewed by an independent consultant, 
followed by descriptions of several such programs, written 
by the software houses, hardware manufacturers and 
computer stores offering them. 

• Three Computer-Music Systems. Steve North, our 
resident software genius, has tried out three highly 
different systems for producing music with a microcom- 
puter. Read his penetrating analysis and see if one of the 
three is for you. 

• Using a Light Pen to Interact with Color Graphics. Tom 
Dwyer, whose four-part series on BASIC (which ends in 
this issue) has attracted wide attention, takes a look at the 
light pen, specifically as used with the Compucolor and its 
eight-color graphics. 

• Games, Games, Games. Several new ones you'll want to 
feed into your computer right away. Complete listings, 
runs and descriptions, naturally. 

• Can a Computer Really Play Winning Chess? Our 
publisher, Dave Ahl. has looked into computerized chess, 
and reports on past history, current progress, and some of 
the available hardware and software for playing the "game 
of kings." 

• What the Beginning Computer Hobbyist Needs to Know. 
Steve North, wearing his tutorial hat this time, answers 
such questions as: Which microcomputer is best for you? 
Which features should you base your decision on? How 
can you act smart and ask the right questions when you 
walk into your local computer store? — and many more. 
For a ground-floor introduction to micros and what makes 
them tick, don't miss these pages. 



144 



CREATIVE COMPUTING! 



Solder is for sissies. 

Are you still designing circuits the old fashioned way? Soldering 
and unsoldering? Burning up valuable IC's? If so, it's time you made 
a switch to solderless breadboarding. E&L Instruments offers a 
complete line of breadboarding products from sockets to the most 
complete systems for professional use. Here are five ways you can 
go solderless . . . 



SK-10 Socket Digi-Designer # DD- 1 K 





This precision solderless bread- 
boarding socket will pay for 
itself in one afternoon. Inte- 
grated circuits and discrete com- 
ponents insert directly, without 
adapters. All interconnections are 
made with 20 to 26 gage solid 
conductor wire. $17.75. 



Breadbox III 

An economical approach to a 
"arge breadboarding area. 
Three SK-10 sockets, four 
5-way binding posts, two 
BNC connectors, six BP-22 
solderless breadboarding 
pins. $72.25 




A must for every student, engineer or 
technician doing digital 
circuit design. Handles 
both IC and discrete 
components without 
soldering. Connec- 
tions to the SK-10 
socket are made 
using any solid 22 gage 
insulated wire. The DD-1K includes a 
clock, power supply, logic lights, pulsers, logic 
level switches and much more. All circuitry is 
now in one circuit board. $77.75 in kit form. 

OEM and educational discounts available. All 
prices shown are suggested resale U.S.A. 




Op-Amp Designer #OA-2K 

Powerful design tool for linear work and 
CMOS digital circuitry. SK-10 
socket. Heavy current capac- 
ities on all three power 
supplies [+/- 15V &+5V 
DC] Sensitive null 
detector and a full func- 
tion generator with exter- 
nal frequency adjustment. All 
interconnections are solderless. 
$120.00 in kit form. 



Op-Amp Designer #0 A-3K 

SK-10 socket. Plus and 
minus variable supplies 
(1 to 15V). This 
adjustable feature 
makes the unit 
exceptionally flexible, 
allowing it to be more 
useful for odd voltage require- 
ments. The fixed 5 volt supply 
allows interfacing with TTL circuitry. 
$102.50 in kit form. 




D® E&L INSTRUMENTS, INC. 

61 First Street. Derby. Conn 06418 
(203) 735-8774 Telex No 96 3536 



!D 



Authorized Stocking Representatives 



Los Angeles. Calif 
(213)3770975 
San Francisco. Calif. 
(415)961-2828 
Woodbndge. Conn. 
(203) 397-1461 
Denver. Colorado 
(303) 744-2501 
Orlando. Florida 
(305)351 1841 
Chicago. Illinois 
(312)956-8090 
Kansas City. Kansas 
(913)649-8952 
New York. NY 
(201)467-8585 
Syracuse. NY 
(315)699-2651 



Dayton. Ohio 
(513) 222-0011 
Philadelphia. Pa 
(215)723-8733 
Dallas. Texas 
(214)328-5484 
Fairfax. Virginia 
(703)273-1803 
Seattle. Washington 
(206)938-4166 

Canada 

Edmonton. Alberta 
(403)455 4122 
Winnipeg. Manitoba 
(204) 774-6286 
or 772-9295 



Vancouver. 
British Columbia 
(604)687-2621 




12ii=i 



lull 



lis 

i r » 







I 



/ 



• - ► 



System 8813 

,-.v . . . 




The Computer for the Professional 



Whether you are a manager, scientist, educator, lawyer, 

accountant or medical professional, the System 8813 will 

make you more productive in your profession. It can keep 

track of your receivables, project future sales, evaluate 

investment opportunities, or collect data in the laboratory. 

Use the System 8813 to develop reports, analyze and store 

lists and schedules, or to teach others about computers. 

It is easily used by novices and experts alike. 



Reliable hardware and sophisticated software make 
this system a useful tool. Several software packages are 
included with the machine: an advanced disk operating 
system supporting a powerful BASIC language inter- 
preter, easy to use text editor, assembler and other system 
utilities. Prices for complete systems start at $3250. 

See it at your local computer store or contact us at 
460 Ward Dr., Santa Barbara, CA 93 1 1 1 , (805) 967-0468. 



POlyMorphic 
Systems